class Test_Notifier(unittest.TestCase): """ Unittest for the class Notifier. """ def setUp(self): self.notifier = Notifier(['simple_key', 'key_with_message']) self.mock_listener = Mock() self.first_key_heared = self.mock_listener.first_key_heared self.first_key_heared_again = self.mock_listener.first_key_heared_again self.second_key_heared = self.mock_listener.second_key_heared self.notifier.connect('simple_key', self.first_key_heared) self.notifier.connect('simple_key', self.first_key_heared_again) self.notifier.connect('key_with_message', self.second_key_heared) def test_notifier(self): self.mock_listener.expects(once()).first_key_heared() self.mock_listener.expects(once()).first_key_heared_again() self.mock_listener.expects(never()).second_key_heared() self.notifier.notify('simple_key') self.mock_listener.verify() def test_notifier_with_message(self): self.mock_listener.expects(never()).first_key_heared() self.mock_listener.expects(never()).first_key_heared_again() self.mock_listener.expects(once()).method('second_key_heared').\ with_at_least(same('little message')) self.notifier.notify('key_with_message', 'little message') self.mock_listener.verify() def test_disconnect(self): self.mock_listener.expects(once()).first_key_heared() self.mock_listener.expects(never()).first_key_heared_again() self.notifier.disconnect('simple_key', self.first_key_heared_again) self.notifier.notify('simple_key') self.mock_listener.verify() def test_reconnect(self): self.mock_listener.expects(once()).first_key_heared() self.mock_listener.expects(once()).first_key_heared_again() self.notifier.disconnect('simple_key', self.first_key_heared_again) self.notifier.connect('simple_key', self.first_key_heared_again) self.notifier.notify('simple_key') self.mock_listener.verify()