public function testReturnsFunctionValue()
{
$token = new Token('@user->getName()', new TokenType(TokenType::METHOD_REFERENCE_TYPE));
$decoratedParserProphecy = $this->prophesize(ParserInterface::class);
$decoratedParserProphecy->parse('@user')->willReturn($reference = new FixtureReferenceValue('user'));
$decoratedParserProphecy->parse('<getName()>')->willReturn($call = new FunctionCallValue('getName'));
/** @var ParserInterface $decoratedParser */
$decoratedParser = $decoratedParserProphecy->reveal();
$expected = new FixtureMethodCallValue($reference, $call);
$parser = new FixtureMethodReferenceTokenParser($decoratedParser);
$actual = $parser->parse($token);
$this->assertEquals($expected, $actual);
}