def test_java_calling_python_interface_implementation(self): called = [] class PyCallback(Callbacker.Callback): def call(self, extraarg=None): called.append(extraarg) Callbacker.callNoArg(PyCallback()) Callbacker.callOneArg(PyCallback(), 4294967295L) self.assertEquals(None, called[0]) self.assertEquals(4294967295L, called[1]) class PyBadCallback(Callbacker.Callback): def call(pyself, extraarg): self.fail("Shouldn't be callable with a no args") self.assertRaises(TypeError, Callbacker.callNoArg, PyBadCallback())
def test_java_calling_python_interface_implementation(self): called = [] class PyCallback(Callbacker.Callback): def call(self, extraarg=None): called.append(extraarg) Callbacker.callNoArg(PyCallback()) Callbacker.callOneArg(PyCallback(), 4294967295) self.assertEqual(None, called[0]) self.assertEqual(4294967295, called[1]) class PyBadCallback(Callbacker.Callback): def call(pyself, extraarg): self.fail("Shouldn't be callable with a no args") self.assertRaises(TypeError, Callbacker.callNoArg, PyBadCallback())
def test_passthrough(self): class CallbackPassthrough(Callbacker.Callback): def __init__(self, worker): self.worker = worker def __getattribute__(self, name): if name == 'call': return getattr(self.worker, name) return object.__getattribute__(self, name) collector = Callbacker.CollectingCallback() c = CallbackPassthrough(collector) Callbacker.callNoArg(c) self.assertEquals("call()", collector.calls[0]) c.call(7) self.assertEquals("call(7)", collector.calls[1])
def test_passthrough(self): class CallbackPassthrough(Callbacker.Callback): def __init__(self, worker): self.worker = worker def __getattribute__(self, name): if name == 'call': return getattr(self.worker, name) return object.__getattribute__(self, name) collector = Callbacker.CollectingCallback() c = CallbackPassthrough(collector) Callbacker.callNoArg(c) self.assertEqual("call()", collector.calls[0]) c.call(7) self.assertEqual("call(7)", collector.calls[1])