def test_function_connect(self): signal = fastwire.Signal() def connected(self, a): self._a = a receiver_id = signal.connect(connected) self.assertEqual(list(signal._receivers.keys()), [receiver_id])
def test_supply(self): signal = fastwire.Signal(receiver_limit=1) class A(fastwire.Wired): @fastwire.supply(signal) def connected(self, a): self._a = a a = A() self.assertEqual(len(signal._receivers.keys()), 1)
def test_method_connect(self): signal = fastwire.Signal() class A(): def connected(self, a): self._a = a a = A() receiver_id = signal.connect(a.connected) self.assertEqual(list(signal._receivers.keys()), [receiver_id])
def test_fn_receive_emit(self): signal = fastwire.Signal() test = [0] @fastwire.fn_receive(signal) def connected(a): test[0] = a val = 5.7 signal.emit(a=val) self.assertEqual(test[0], val)
def test_receive_emit(self): signal = fastwire.Signal() class A(fastwire.Wired): @fastwire.receive(signal) def connected(self, a): self._a = a a = A() val = 5.7 signal.emit(a=val) self.assertEqual(a._a, val)
def test_emit(self): signal = fastwire.Signal() class A(): def connected(self, a): self._a = a a = A() signal.connect(a.connected) val = 5.7 signal.emit(a=val) self.assertEqual(a._a, val)
def test_fetch(self): signal = fastwire.Signal(receiver_limit=1) class A(): def connected(self, a): return a a = A() signal.connect(a.connected) val = 5.7 ret = signal.fetch(a=val) self.assertEqual(ret, val)
def test_signal_emit_performance(self): signal = fastwire.Signal() def connected(a): pass def f(a): pass signal.connect(connected) e = signal.emit n = 100000 t_ref = timeit('f(5)', globals={'f': f}, number=n) t_test = timeit('e(a=5)', globals={'e': e}, number=n) self.assertTrue(t_test / t_ref < 8)
def test_add_condition(self): signal = fastwire.Signal() class A(): def connected(self, a): self._a = a a = A() signal.connect(a.connected) signal.add_condition(My_Condition()) val = 5.7 signal.emit(a=val) self.assertEqual(a._a, val) signal.emit(a=15) self.assertEqual(a._a, val)
def test_attrs_kwarg(self): dct = {'a': 5} signal = fastwire.Signal(name='test_name', attrs=dct) self.assertEqual(signal.attrs, dct)
def test_doc_kwarg(self): signal = fastwire.Signal(name='test_name', doc='test_doc') self.assertEqual(signal.doc, 'test_doc')
def test_doc_arg(self): signal = fastwire.Signal('test_name', 'test_doc') self.assertEqual(signal.doc, 'test_doc')
def test_name_kwarg(self): signal = fastwire.Signal(name='test_name') self.assertEqual(signal.name, 'test_name')