Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Reenable skipped tests in test_subclass.py
  • Loading branch information
Rickard Holmberg committed Jun 22, 2017
commit db5f43eb89696452ebcaae8d5d0ec6881dd74863
26 changes: 12 additions & 14 deletions src/tests/test_subclass.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
from ._compat import range


def interface_test_class_fixture():
def interface_test_class_fixture(subnamespace):
"""Delay creation of class until test starts."""

class InterfaceTestClass(IInterfaceTest):
"""class that implements the test interface"""
__namespace__ = "Python.Test"
__namespace__ = "Python.Test." + subnamespace

def foo(self):
return "InterfaceTestClass"
Expand All @@ -31,12 +31,12 @@ def bar(self, x, i):
return InterfaceTestClass


def derived_class_fixture():
def derived_class_fixture(subnamespace):
"""Delay creation of class until test starts."""

class DerivedClass(SubClassTest):
"""class that derives from a class deriving from IInterfaceTest"""
__namespace__ = "Python.Test"
__namespace__ = "Python.Test." + subnamespace

def foo(self):
return "DerivedClass"
Expand All @@ -60,12 +60,12 @@ def return_list(self):
return DerivedClass


def derived_event_test_class_fixture():
def derived_event_test_class_fixture(subnamespace):
"""Delay creation of class until test starts."""

class DerivedEventTest(IInterfaceTest):
"""class that implements IInterfaceTest.TestEvent"""
__namespace__ = "Python.Test"
__namespace__ = "Python.Test." + subnamespace

def __init__(self):
self.event_handlers = []
Expand Down Expand Up @@ -99,7 +99,7 @@ def test_base_class():

def test_interface():
"""Test python classes can derive from C# interfaces"""
InterfaceTestClass = interface_test_class_fixture()
InterfaceTestClass = interface_test_class_fixture(test_interface.__name__)
ob = InterfaceTestClass()
assert ob.foo() == "InterfaceTestClass"
assert FunctionsTest.test_foo(ob) == "InterfaceTestClass"
Expand All @@ -112,7 +112,7 @@ def test_interface():

def test_derived_class():
"""Test python class derived from managed type"""
DerivedClass = derived_class_fixture()
DerivedClass = derived_class_fixture(test_derived_class.__name__)
ob = DerivedClass()
assert ob.foo() == "DerivedClass"
assert ob.base_foo() == "foo"
Expand All @@ -128,10 +128,9 @@ def test_derived_class():
assert id(x) == id(ob)


@pytest.mark.skip(reason="FIXME: test randomly pass/fails")
def test_create_instance():
"""Test derived instances can be created from managed code"""
DerivedClass = derived_class_fixture()
DerivedClass = derived_class_fixture(test_create_instance.__name__)
ob = FunctionsTest.create_instance(DerivedClass)
assert ob.foo() == "DerivedClass"
assert FunctionsTest.test_foo(ob) == "DerivedClass"
Expand All @@ -142,7 +141,7 @@ def test_create_instance():
x = FunctionsTest.pass_through(ob)
assert id(x) == id(ob)

InterfaceTestClass = interface_test_class_fixture()
InterfaceTestClass = interface_test_class_fixture(test_create_instance.__name__)
ob2 = FunctionsTest.create_instance(InterfaceTestClass)
assert ob2.foo() == "InterfaceTestClass"
assert FunctionsTest.test_foo(ob2) == "InterfaceTestClass"
Expand All @@ -153,7 +152,6 @@ def test_create_instance():
assert id(y) == id(ob2)


@pytest.mark.skip(reason="FIXME: test randomly pass/fails")
def test_events():
class EventHandler(object):
def handler(self, x, args):
Expand All @@ -166,12 +164,12 @@ def handler(self, x, args):
assert FunctionsTest.test_event(x, 1) == 1
assert event_handler.value == 1

InterfaceTestClass = interface_test_class_fixture()
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()
DerivedEventTest = derived_event_test_class_fixture(test_events.__name__)
d = DerivedEventTest()
d.add_TestEvent(event_handler.handler)
assert FunctionsTest.test_event(d, 3) == 3
Expand Down