def testBaseClass(self): """Test base class managed type""" object = SubClassTest() self.assertEqual(object.foo(), "foo") self.assertEqual(SubClassTest.test_foo(object), "foo") self.assertEqual(object.bar("bar", 2), "bar") self.assertEqual(SubClassTest.test_bar(object, "bar", 2), "bar") self.assertEqual(object.not_overriden(), "not_overriden") self.assertEqual(list(object.return_list()), ["a", "b", "c"]) self.assertEqual(list(SubClassTest.test_list(object)), ["a", "b", "c"])
def testCreateInstance(self): """Test derived instances can be created from managed code""" object = SubClassTest.create_instance(DerivedClass) self.assertEqual(object.foo(), "bar") self.assertEqual(SubClassTest.test_foo(object), "bar") self.assertEqual(object.bar("bar", 2), "bar_bar") self.assertEqual(SubClassTest.test_bar(object, "bar", 2), "bar_bar") self.assertEqual(object.not_overriden(), "not_overriden") x = SubClassTest.pass_through(object) self.assertEqual(id(x), id(object))
def testDerivedClass(self): """Test python class derived from managed type""" object = DerivedClass() self.assertEqual(object.foo(), "bar") self.assertEqual(object.base_foo(), "foo") self.assertEqual(object.super_foo(), "foo") self.assertEqual(SubClassTest.test_foo(object), "bar") self.assertEqual(object.bar("bar", 2), "bar_bar") self.assertEqual(SubClassTest.test_bar(object, "bar", 2), "bar_bar") self.assertEqual(object.not_overriden(), "not_overriden") self.assertEqual(list(object.return_list()), ["A", "B", "C"]) self.assertEqual(list(SubClassTest.test_list(object)), ["A", "B", "C"]) x = SubClassTest.pass_through(object) self.assertEqual(id(x), id(object))