1from PyObjCTools.TestSupport import * 2import objc 3 4from Foundation import * 5 6class TestSubclassing(TestCase): 7 def testBasicSubclassing(self): 8 class NSObjectSubclass(NSObject): 9 def someRandomMethod(self): 10 return 42 11 12 subclassClass = NSClassFromString( "NSObjectSubclass" ) 13 14 self.assert_( subclassClass , "Failed to subclass NSObject." ) 15 16 subclassInstance = subclassClass.new() 17 self.assert_( isinstance( subclassInstance, subclassClass ), "Subclass instance was not an instance of NSObjectSubclass." ) 18 self.assert_( isinstance( subclassInstance, NSObject ), "Subclass instance was not a subclass of NSObject." ) 19 self.assert_( not isinstance( subclassInstance, NSArray ), "Not a subclass of NSArray, but instanceof() thinks so." ) 20 21 subclassInstance.description() 22 self.assert_( subclassInstance.someRandomMethod() == 42, "someRandomMethod() did not return expected response." ) 23 24 self.assert_( subclassInstance is subclassInstance, "Identity check failed." ) 25 self.assert_( subclassInstance is subclassInstance.self(), "Identity check failed." ) 26 27if __name__ == '__main__': 28 main( ) 29