Adding a test for the Liskov substitution principle.

Subclasses should inherit the contracts of their parent classes.

Thanks to Prof. Constantinos Constantinides for pointing out that this
is an important part of DBC.