public function testUseDecoratedResolverToKnowWhichParameterItCanResolve()
{
$parameter1 = new Parameter('foo', null);
$parameter2 = new Parameter('bar', null);
$decoratedResolverProphecy = $this->prophesize(ChainableParameterResolverInterface::class);
$decoratedResolverProphecy->canResolve($parameter1)->willReturn(false);
$decoratedResolverProphecy->canResolve($parameter2)->willReturn(true);
/* @var ChainableParameterResolverInterface $decoratedResolver */
$decoratedResolver = $decoratedResolverProphecy->reveal();
$resolver = new RecursiveParameterResolver($decoratedResolver);
$this->assertFalse($resolver->canResolve($parameter1));
$this->assertTrue($resolver->canResolve($parameter2));
$decoratedResolverProphecy->canResolve(Argument::any())->shouldHaveBeenCalledTimes(2);
}