/** * @depends testPopOne */ function testMultiplePushPeekPop() { $queue = new LinkedQueue(); $queue->enqueue(1); $queue->enqueue(3); $queue->enqueue(5); $peek = $queue->first(); $this->assertEquals(1, $peek); $this->assertCount(3, $queue); $this->assertFalse($queue->isEmpty()); $pop = $queue->dequeue(); $this->assertEquals(1, $pop); $this->assertCount(2, $queue); $this->assertFalse($queue->isEmpty()); $peek = $queue->first(); $this->assertEquals(3, $peek); $this->assertCount(2, $queue); $this->assertFalse($queue->isEmpty()); $pop = $queue->dequeue(); $this->assertEquals(3, $pop); $this->assertCount(1, $queue); $this->assertFalse($queue->isEmpty()); $peek = $queue->first(); $this->assertEquals(5, $peek); $this->assertCount(1, $queue); $this->assertFalse($queue->isEmpty()); $pop = $queue->dequeue(); $this->assertEquals(5, $pop); $this->assertCount(0, $queue); $this->assertTrue($queue->isEmpty()); }
/** * @expectedException \Collections\EmptyException */ function testPeekEmpty() { $queue = new LinkedQueue(); $queue->first(); }