Esempio n. 1
0
    def test_event_model(self):
        listener = SomeListener()
        listener.on('something', listener.listen_something)

        thrower = EventThrower()
        thrower.add_listener(listener)

        self.assertTrue(getattr(listener, 'foo', None) is None)

        thrower.emit('something')

        self.assertEqual(listener.foo, 'bar')
Esempio n. 2
0
    def test_a_listener_can_be_killed(self):
        listener = SomeListener()
        listener.on('something', listener.listen_something)

        thrower = EventThrower()
        thrower.add_listener(listener)

        thrower.emit('something')

        self.assertEqual(listener.foo, 'bar')

        del listener
        """ Garbage collector is required to simulate time passing """
        import gc; gc.collect()

        thrower.emit('something')
        self.assertEqual(0, len(thrower.__LISTENERS__))
 def __init__(self, **kwargs):
     ValidatingStruct.__init__(self, **kwargs)
     EventListener.__init__(self)
     EventThrower.__init__(self)