示例#1
0
class AnNewSender(unittest.TestCase):
	def setUp(self):
		self.sender = Sender()
		self.called = False

	def callback(self, event, arg):
		self.called = True

	def test_should_add_a_callback_on_register(self):
		self.sender.register('some_event', self.callback)
		self.assertEqual(len(self.sender.callbacks), 1)

	def test_should_have_zero_callbacks(self):
		self.assertEqual(len(self.sender.callbacks), 0)

	def test_should_not_call_anything_on_notify(self):
		self.sender.notify('some_event', 'msg')
		self.assertFalse(self.called)

	def test_should_not_raise_error_on_unregister(self):
		self.sender.unregister('some_event', self.callback)
示例#2
0
class ASenderWithOneCallback(unittest.TestCase):
	def setUp(self):
		self.sender = Sender()
		self.called = False
		self.sender.register('event', self.callback)
	
	def callback(self, event, arg):
		self.called = True

	def test_should_notify_if_the_registered_signal_was_called(self):
		self.sender.notify('event', 'message')
		self.assertTrue(self.called)

	def test_should_not_notify_if_another_signal_was_called(self):
		self.sender.notify('other_event', 'message')
		self.assertFalse(self.called)

	def test_should_remove_the_callback_on_unregister(self):
		self.sender.unregister('event', self.callback)
		self.sender.notify('event', 'message')
		self.assertFalse(self.called)