public function testIfTheValueHasAlreadyBeenTokenizedThenItWillNotBeTokenizedAgain()
{
$value = '<aliceTokenizedFunction(something)>';
$decoratedLexerProphecy = $this->prophesize(LexerInterface::class);
$decoratedLexerProphecy->lex($value)->willReturn($expected = [new Token('something', new TokenType(TokenType::FUNCTION_TYPE))]);
/** @var LexerInterface $decoratedLexer */
$decoratedLexer = $decoratedLexerProphecy->reveal();
$lexer = new FunctionLexer($decoratedLexer);
$actual = $lexer->lex($value);
$this->assertEquals($expected, $actual);
$decoratedLexerProphecy->lex(Argument::any())->shouldHaveBeenCalledTimes(1);
}