예제 #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))
예제 #3
0
 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"])
예제 #4
0
def test_base_class():
    """Test base class managed type"""
    ob = SubClassTest()
    assert ob.foo() == "foo"
    assert FunctionsTest.test_foo(ob) == "foo"
    assert ob.bar("bar", 2) == "bar"
    assert FunctionsTest.test_bar(ob, "bar", 2) == "bar"
    assert ob.not_overriden() == "not_overriden"
    assert list(ob.return_list()) == ["a", "b", "c"]
    assert list(SubClassTest.test_list(ob)) == ["a", "b", "c"]
예제 #5
0
 def testBaseClass(self):
     """Test base class managed type"""
     object = SubClassTest()
     self.assertEqual(object.foo(), "foo")
     self.assertEqual(TestFunctions.test_foo(object), "foo")
     self.assertEqual(object.bar("bar", 2), "bar")
     self.assertEqual(TestFunctions.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"])
예제 #6
0
    def testDerivedClass(self):
        """Test python class derived from managed type"""
        object = DerivedClass()
        self.assertEqual(object.foo(), "DerivedClass")
        self.assertEqual(object.base_foo(), "foo")
        self.assertEqual(object.super_foo(), "foo")
        self.assertEqual(TestFunctions.test_foo(object), "DerivedClass")
        self.assertEqual(object.bar("bar", 2), "bar_bar")
        self.assertEqual(TestFunctions.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 = TestFunctions.pass_through(object)
        self.assertEqual(id(x), id(object))
예제 #7
0
def test_base_class():
    """Test base class managed type"""
    ob = SubClassTest()
    assert ob.foo() == "foo"
    assert FunctionsTest.test_foo(ob) == "foo"
    assert ob.bar("bar", 2) == "bar"
    assert FunctionsTest.test_bar(ob, "bar", 2) == "bar"
    assert ob.not_overriden() == "not_overriden"
    assert list(ob.return_list()) == ["a", "b", "c"]
    assert list(SubClassTest.test_list(ob)) == ["a", "b", "c"]
예제 #8
0
def test_derived_class():
    """Test python class derived from managed type"""
    DerivedClass = derived_class_fixture(test_derived_class.__name__)
    ob = DerivedClass()
    assert ob.foo() == "DerivedClass"
    assert ob.base_foo() == "foo"
    assert ob.super_foo() == "foo"
    assert FunctionsTest.test_foo(ob) == "DerivedClass"
    assert ob.bar("bar", 2) == "bar_bar"
    assert FunctionsTest.test_bar(ob, "bar", 2) == "bar_bar"
    assert ob.not_overriden() == "not_overriden"
    assert list(ob.return_list()) == ["A", "B", "C"]
    assert list(SubClassTest.test_list(ob)) == ["A", "B", "C"]

    x = FunctionsTest.pass_through(ob)
    assert id(x) == id(ob)
예제 #9
0
def test_derived_class():
    """Test python class derived from managed type"""
    DerivedClass = derived_class_fixture()
    ob = DerivedClass()
    assert ob.foo() == "DerivedClass"
    assert ob.base_foo() == "foo"
    assert ob.super_foo() == "foo"
    assert FunctionsTest.test_foo(ob) == "DerivedClass"
    assert ob.bar("bar", 2) == "bar_bar"
    assert FunctionsTest.test_bar(ob, "bar", 2) == "bar_bar"
    assert ob.not_overriden() == "not_overriden"
    assert list(ob.return_list()) == ["A", "B", "C"]
    assert list(SubClassTest.test_list(ob)) == ["A", "B", "C"]

    x = FunctionsTest.pass_through(ob)
    assert id(x) == id(ob)
예제 #10
0
    def testEvents(self):
        class EventHandler:
            def handler(self, x, args):
                self.value = args.value

        event_handler = EventHandler()

        x = SubClassTest()
        x.TestEvent += event_handler.handler
        self.assertEqual(TestFunctions.test_event(x, 1), 1)
        self.assertEqual(event_handler.value, 1)

        i = InterfaceTestClass()
        self.assertRaises(NotImplementedException, TestFunctions.test_event, i, 2)

        d = DerivedEventTest()
        d.add_TestEvent(event_handler.handler)
        self.assertEqual(TestFunctions.test_event(d, 3), 3)
        self.assertEqual(event_handler.value, 3)
        self.assertEqual(len(d.event_handlers), 1)
예제 #11
0
def test_events():
    class EventHandler(object):
        def handler(self, x, args):
            self.value = args.value

    event_handler = EventHandler()

    x = SubClassTest()
    x.TestEvent += event_handler.handler
    assert FunctionsTest.test_event(x, 1) == 1
    assert event_handler.value == 1

    InterfaceTestClass = interface_test_class_fixture(test_events.__name__)
    i = InterfaceTestClass()
    with pytest.raises(System.NotImplementedException):
        FunctionsTest.test_event(i, 2)

    DerivedEventTest = derived_event_test_class_fixture(test_events.__name__)
    d = DerivedEventTest()
    d.add_TestEvent(event_handler.handler)
    assert FunctionsTest.test_event(d, 3) == 3
    assert event_handler.value == 3
    assert len(d.event_handlers) == 1
예제 #12
0
 def base_foo(self):
     return SubClassTest.foo(self)
예제 #13
0
 def base_foo(self):
     return SubClassTest.foo(self)