assertTrue($tq->isEmpty()); } public function testKnowsIfFull() { $tq = new TaskQueue(false); $tq->add(function () {}); $this->assertFalse($tq->isEmpty()); } public function testExecutesTasksInOrder() { $tq = new TaskQueue(false); $called = []; $tq->add(function () use (&$called) { $called[] = 'a'; }); $tq->add(function () use (&$called) { $called[] = 'b'; }); $tq->add(function () use (&$called) { $called[] = 'c'; }); $tq->run(); $this->assertEquals(['a', 'b', 'c'], $called); } }