/** * @dataProvider PHPExtra\EventManager\Worker\WorkerQueueTest::workers * * @param Worker[]|array $workers */ public function testReturnWorkersInLifoOrder(array $workers) { $event = $this->getMock('PHPExtra\\EventManager\\Event\\Event'); /** @var Event $event */ $this->queue->addWorker($workers[0]); $this->queue->addWorker($workers[1]); $this->queue->addWorker($workers[2]); $output = array(); foreach ($this->queue->getWorkersFor($event) as $worker) { /** @var Worker $worker */ $output[] = $worker->getMethodName(); } $this->assertEquals(array('dummy3', 'dummy2', 'dummy1'), $output); }
/** * @param Worker $worker * * @return $this */ private function addWorker(Worker $worker) { $this->workerQueue->addWorker($worker); return $this; }