Пример #1
0
 def test_emit(self):
     """
     Should call each observers buildReceived method.
     """        
     class FakeObserver:
         def buildReceived(self, buildDict):
             self.build = buildDict
     
     e = Emitter()
     
     observers = [FakeObserver(), FakeObserver()]
     for o in observers:
         e.addObserver(o)
     
     
     e.emit('something')
     self.assertEqual([x.build for x in observers], ['something', 'something'])
Пример #2
0
 def test_emit_repeat(self):
     """
     The same message should not be emitted twice
     """
     class FakeObserver:
         def buildReceived(self, buildDict):
             self.build = buildDict
     
     e = Emitter()
     o = FakeObserver()
     e.addObserver(o)
     
     r = dict(project='foo')
     
     e.emit(r)
     self.assertEqual(o.build, r)
     
     o.build = None
     e.emit(r)
     self.assertEqual(o.build, None,
         "Should not have passed the report on because it was already"
         "received: %r" % r)