'A trigger should only be called on the first call to
L{_ThreePhaseEvent.fireEvent}.'

def test_triggersRunOnce(self):

    events = []
    self.event.addTrigger('before', events.append, 'before')
    self.event.addTrigger('during', events.append, 'during')
    self.event.addTrigger('after', events.append, 'after')
    self.event.fireEvent()
    self.event.fireEvent()
    self.assertEqual(events, ['before', 'during', 'after'])
