public function test__DispatchEventsWorker()
 {
     $bus = new EventBusSpy(new SimpleEventBus(new DummyLogger('Test')));
     $bus->addHandler('test.event', new TestEventHandler($bus));
     $this->assertTrue($bus->assertWasRegistered('test.event', new TestEventHandler($bus)));
     $recorder = new EventRecorder();
     $recorder->recordThat(new TestEvent('data'));
     $worker = new DispatchEventsWorker($bus, $recorder);
     $worker->execute(new SimpleCommand('Example'));
     $this->assertTrue($bus->eventWasHandled('test.event'));
 }
 public function test_it_can_forget_events()
 {
     $recorder = new EventRecorder();
     $recorder->recordThat(new SimpleEvent('1'));
     $recorder->recordThat(new SimpleEvent('2'));
     $recorder->recordThat(new SimpleEvent('3'));
     $recorder->flush();
     $this->assertEquals(0, iterator_count($recorder));
 }