def test_remove_by_token(self): signal = AdHocSignal() fun = unittest.mock.MagicMock() fun.return_value = None token = signal.connect(fun) signal() self.assertSequenceEqual([ unittest.mock.call(), ], fun.mock_calls) signal() self.assertSequenceEqual([ unittest.mock.call(), unittest.mock.call(), ], fun.mock_calls) signal.disconnect(token) signal() self.assertSequenceEqual([ unittest.mock.call(), unittest.mock.call(), ], fun.mock_calls)
def test_disconnect_is_idempotent(self): signal = AdHocSignal() fun = unittest.mock.MagicMock() fun.return_value = None token = signal.connect(fun) signal.disconnect(token) signal.disconnect(token)
def test_disconnect_is_idempotent(self): signal = AdHocSignal() fun = unittest.mock.MagicMock() fun.return_value = None token = signal.connect(fun) signal.disconnect(token) signal.disconnect(token)
def test_context_connect(self): signal = AdHocSignal() fun = unittest.mock.MagicMock() fun.return_value = None with signal.context_connect(fun): signal("foo") signal("bar") with signal.context_connect(fun) as token: signal("baz") signal.disconnect(token) signal("fnord") self.assertSequenceEqual([ unittest.mock.call("foo"), unittest.mock.call("baz"), ], fun.mock_calls)
def test_context_connect(self): signal = AdHocSignal() fun = unittest.mock.MagicMock() fun.return_value = None with signal.context_connect(fun): signal("foo") signal("bar") with signal.context_connect(fun) as token: signal("baz") signal.disconnect(token) signal("fnord") self.assertSequenceEqual( [ unittest.mock.call("foo"), unittest.mock.call("baz"), ], fun.mock_calls )
def test_remove_by_token(self): signal = AdHocSignal() fun = unittest.mock.MagicMock() fun.return_value = None token = signal.connect(fun) signal() self.assertSequenceEqual( [ unittest.mock.call(), ], fun.mock_calls ) signal() self.assertSequenceEqual( [ unittest.mock.call(), unittest.mock.call(), ], fun.mock_calls ) signal.disconnect(token) signal() self.assertSequenceEqual( [ unittest.mock.call(), unittest.mock.call(), ], fun.mock_calls )