Contract testing

By Christos Gkoros