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()
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()
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()
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()
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()
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()