def test_add_inheriteddelegatei(self): @add_delegate(InheritedDelegateI) class Delegator2(object): def __init__(self): self.x = 1 mems = set([n for n, v in getmembers(Delegator2, ismethod) if not n.startswith("_")]) self.assertEqual(mems, set(["i"])) interfaces = list(implementedBy(Delegator2)) self.assertEqual(interfaces, list(implementedBy(InheritedDelegateI))) delegator = Delegator2() for interface in interfaces: self.assertTrue(obj_has_interface(delegator, interface)) self.assertEqual(delegator.i(delegator.x), 2)
def test_add_inheriteddelegatei(self): @add_delegate(InheritedDelegateI) class Delegator2(object): def __init__(self): self.x = 1 mems = set([n for n,v in getmembers(Delegator2, ismethod) if not n.startswith('_')]) self.assertEqual(mems, set(['i'])) interfaces = list(implementedBy(Delegator2)) self.assertEqual(interfaces, list(implementedBy(InheritedDelegateI))) delegator = Delegator2() for interface in interfaces: self.assertTrue(obj_has_interface(delegator, interface)) self.assertEqual(delegator.i(delegator.x), 2)
def test_add_delegatej(self): @add_delegate(DelegateJ) class Delegator1(object): def __init__(self): self.x = 1 mems = set([n for n, v in getmembers(Delegator1, ismethod) if not n.startswith("_")]) self.assertEqual(mems, set(["i", "j"])) interfaces = list(implementedBy(Delegator1)) self.assertEqual(interfaces, list(implementedBy(DelegateJ))) delegator = Delegator1() for interface in interfaces: self.assertTrue(obj_has_interface(delegator, interface)) self.assertEqual(delegator.i(delegator.x), 2) self.assertEqual(delegator.j(delegator.x), 3)
def test_add_delegatej(self): @add_delegate(DelegateJ) class Delegator1(object): def __init__(self): self.x = 1 mems = set([n for n,v in getmembers(Delegator1, ismethod) if not n.startswith('_')]) self.assertEqual(mems, set(['i', 'j'])) interfaces = list(implementedBy(Delegator1)) self.assertEqual(interfaces, list(implementedBy(DelegateJ))) delegator = Delegator1() for interface in interfaces: self.assertTrue(obj_has_interface(delegator, interface)) self.assertEqual(delegator.i(delegator.x), 2) self.assertEqual(delegator.j(delegator.x), 3)
def __init__(self, parent): self._parameters = OrderedDict() self._allowed_types = ['continuous'] if obj_has_interface(parent, ISolver): self._allowed_types.append('unbounded') self._parent = None if parent is None else weakref.ref(parent)