public function testExpectStepsToNextToken() { $token1 = new Token(Token::IDENTIFIER, 'foo'); $token2 = new Token(Token::IDENTIFIER, 'bar'); $this->mockTokenizer->expects($this->exactly(3))->method('nextToken')->will($this->onConsecutiveCalls($token1, $token2, new Token(Token::EOF))); $stream = new Stream($this->mockTokenizer); $this->assertSame($token1, $stream->expect(Token::IDENTIFIER, 'foo')); $this->assertSame($token2, $stream->expect(Token::IDENTIFIER, 'bar')); }