예제 #1
0
    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))
예제 #2
0
    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))