Пример #1
0
    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])
Пример #2
0
    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)
Пример #3
0
    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])
Пример #4
0
    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)
Пример #5
0
    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)
Пример #6
0
    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)
Пример #7
0
    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)
Пример #8
0
    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)
Пример #9
0
    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)
Пример #10
0
 def test_attrs_kwarg(self):
     dct = {'a': 5}
     signal = fastwire.Signal(name='test_name', attrs=dct)
     self.assertEqual(signal.attrs, dct)
Пример #11
0
 def test_doc_kwarg(self):
     signal = fastwire.Signal(name='test_name', doc='test_doc')
     self.assertEqual(signal.doc, 'test_doc')
Пример #12
0
 def test_doc_arg(self):
     signal = fastwire.Signal('test_name', 'test_doc')
     self.assertEqual(signal.doc, 'test_doc')
Пример #13
0
 def test_name_kwarg(self):
     signal = fastwire.Signal(name='test_name')
     self.assertEqual(signal.name, 'test_name')