def test__add_disconnects_signal_if_manager_is_disabled(self): manager = SignalsManager() manager.disable() signal = self.make_Signal() manager.add(signal) self.assertThat(signal.connect, MockNotCalled()) self.assertThat(signal.disconnect, MockCalledOnceWith())
def test__remove_removes_the_signal(self): manager = SignalsManager() signal = self.make_Signal() manager.add(signal) manager.remove(signal) self.assertThat(manager._signals, HasLength(0)) self.assertThat(signal.connect, MockNotCalled()) self.assertThat(signal.disconnect, MockNotCalled())
def test__disable_disables_all_signals(self): manager = SignalsManager() signals = [self.make_Signal(), self.make_Signal()] for signal in signals: manager.add(signal) manager.disable() self.assertThat( signals, AllMatch( MatchesAll( AfterPreprocessing((lambda signal: signal.connect), MockNotCalled()), AfterPreprocessing((lambda signal: signal.disconnect), MockCalledOnceWith()), )))
def test__add_adds_the_signal(self): manager = SignalsManager() signal = self.make_Signal() self.assertThat(manager.add(signal), Is(signal)) self.assertThat(manager._signals, Equals({signal})) # The manager is in its "new" state, neither enabled nor disabled, so # the signal is not asked to connect or disconnect yet. self.assertThat(signal.connect, MockNotCalled()) self.assertThat(signal.disconnect, MockNotCalled())