def test_GarbageCollected(self):
     a = Callable()
     b = Dummy()
     signal = 'this'
     louie.connect(a.a, signal, b)
     expected = []
     del a
     result = louie.send('this', b, a=b)
     assert result == expected, (
         "Send didn't return expected result:\n\texpected:%s\n\tgot:%s"
         % (expected, result))
     assert len(list(louie.get_all_receivers(b, signal))) == 0, (
         "Remaining handlers: %s" % (louie.get_all_receivers(b, signal),))
     self._isclean()
 def test_MultipleRegistration(self):
     a = Callable()
     b = Dummy()
     signal = 'this'
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     result = louie.send('this', b, a=b)
     assert len(result) == 1, result
     assert len(list(louie.get_all_receivers(b, signal))) == 1, (
         "Remaining handlers: %s" % (louie.get_all_receivers(b, signal),))
     del a
     del b
     del result
     self._isclean()
Beispiel #3
0
 def test_GarbageCollectedObj(self):
     class x:
         def __call__(self, a):
             return a
     a = Callable()
     b = Dummy()
     signal = 'this'
     louie.connect(a, signal, b)
     expected = []
     del a
     gc.collect()
     result = louie.send('this', b, a=b)
     assert result == expected, (
         "Send didn't return expected result:\n\texpected:{0}\n\tgot:{1}"
             .format(expected, result))
     assert len(list(louie.get_all_receivers(b, signal))) == 0, (
         "Remaining handlers: {0}"
             .format(louie.get_all_receivers(b, signal)))
     self._isclean()
 def test_AllRegistration(self):
     a = Dummy()
     signal = 'this'
     louie.connect(x, louie.All, a)
     expected = [(x, a)]
     result = louie.send('this', a, a=a)
     assert result == expected, (
         "Send didn't return expected result:\n\texpected:%s\n\tgot:%s"
         % (expected, result))
     louie.disconnect(x, louie.All, a)
     assert len(list(louie.get_all_receivers(a, louie.All))) == 0
     self._isclean()
 def test_AnonymousSend(self):
     a = Dummy()
     signal = 'this'
     louie.connect(x, signal)
     expected = [(x, a)]
     result = louie.send(signal, None, a=a)
     assert result == expected, (
         "Send didn't return expected result:\n\texpected:%s\n\tgot:%s"
         % (expected, result))
     louie.disconnect(x, signal)
     assert len(list(louie.get_all_receivers(None, signal))) == 0
     self._isclean()
Beispiel #6
0
 def test_Exact(self):
     a = Dummy()
     signal = 'this'
     louie.connect(x, signal, a)
     expected = [(x, a)]
     result = louie.send('this', a, a=a)
     assert result == expected, (
         "Send didn't return expected result:\n\texpected:{0}\n\tgot:{1}"
             .format(expected, result))
     louie.disconnect(x, signal, a)
     assert len(list(louie.get_all_receivers(a, signal))) == 0
     self._isclean()
Beispiel #7
0
 def test_AnyRegistration(self):
     a = Dummy()
     signal = 'this'
     louie.connect(x, signal, louie.Any)
     expected = [(x, a)]
     result = louie.send('this', object(), a=a)
     assert result == expected, (
         "Send didn't return expected result:\n\texpected:%s\n\tgot:%s" %
         (expected, result))
     louie.disconnect(x, signal, louie.Any)
     expected = []
     result = louie.send('this', object(), a=a)
     assert result == expected, (
         "Send didn't return expected result:\n\texpected:%s\n\tgot:%s" %
         (expected, result))
     assert len(list(louie.get_all_receivers(louie.Any, signal))) == 0
     self._isclean()
Beispiel #8
0
 def test_MultipleRegistration(self):
     a = Callable()
     b = Dummy()
     signal = "this"
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     louie.connect(a, signal, b)
     result = louie.send(signal, b, a=b)
     assert len(result) == 1, result
     assert (len(list(louie.get_all_receivers(b, signal))) == 1
             ), f"Remaining handlers: {louie.get_all_receivers(b, signal)}"
     del a
     del b
     del result
     gc.collect()
     self._isclean()
Beispiel #9
0
    def test_GarbageCollectedObj(self):
        class x:
            def __call__(self, a):
                return a

        a = Callable()
        b = Dummy()
        signal = "this"
        louie.connect(a, signal, b)
        expected = []
        del a
        gc.collect()
        result = louie.send(signal, b, a=b)
        assert (
            result == expected
        ), f"Send didn't return expected result:\n\texpected:{expected}\n\tgot:{result}"
        assert (len(list(louie.get_all_receivers(b, signal))) == 0
                ), f"Remaining handlers: {louie.get_all_receivers(b, signal)}"
        self._isclean()