Public tests for part 3:

This part tests that your implementation of the rules for subtyping
are correct.  You will test against the functions "is_subtype" and
"check_class" in rube.ml.

is_subtype (running on subtyping_test.ru):
	is_subtype p (TClass "Object") (TClass "Object") --> true
	is_subtype p TBot TBot --> true
	is_subtype p TBot (TClass "Object") --> true
	is_subtype p (TClass "Object") TBot --> false
	is_subtype p (TClass "Sedan") (TClass "Car") --> true
	is_subtype p 
	  (TMeth ([]), Integer) (TMeth ([]), Integer) --> true
	is_subtype p 
	  (TMeth ([]), Integer) (TMeth ([]), Object) --> true
  	is_subtype p 
	  (TMeth ([]), Object) (TMeth ([]), Integer) --> false

check_class (running on subtyping_test_2.ru):
       check_class p "Object" --> true
       check_class p "String" --> true
       check_class p "Integer" --> true
       check_class p "Car" --> true
       check_class p "Truck" --> true
       check_class p "Sedan" --> true
