1 from abstract_basecast import * 2 3 def check(flag): 4 if not flag: 5 raise RuntimeError("Test failed") 6 7 derived = DerivedClass() 8 derived.g() 9 check(isinstance(derived, BaseClass)) 10 check(isinstance(derived, DerivedClass)) 11 12 base = derived.f() 13 base.g() 14 check(isinstance(base, BaseClass)) 15 check(not isinstance(base, DerivedClass))