public function testPop() { $input = new ParseInput(array('a', 'a', 'b', 'b')); $this->assertEquals('a', $input->peek()); $this->assertEquals('a', $input->peek(1)); $this->assertEquals('b', $input->peek(2)); $this->assertEquals('b', $input->peek(3)); $this->assertNull($input->peek(4)); $this->assertEquals('a', $input->pop()); $this->assertEquals('a', $input->peek()); $this->assertEquals('b', $input->peek(1)); $this->assertEquals('b', $input->peek(2)); $this->assertNull($input->peek(3)); $input->expect('a'); $this->assertEquals(array('b', 'b'), $input->toArray()); $input->reset(); $this->assertEquals(array('a', 'a', 'b', 'b'), $input->toArray()); }