public function testTheSameContextIsPassedBetweenEachResolution(ResolvingContext $context = null) { $parameter = new Parameter('foo', null); $decoratedResolverProphecy = $this->prophesize(ChainableParameterResolverInterface::class); $decoratedResolverProphecy->resolve(Argument::any(), Argument::any(), Argument::any(), $context)->willReturn(new ParameterBag(['foo' => null])); /* @var ChainableParameterResolverInterface $decoratedResolver */ $decoratedResolver = $decoratedResolverProphecy->reveal(); $resolver = new RecursiveParameterResolver($decoratedResolver); $resolver->resolve($parameter, new ParameterBag(), new ParameterBag(), $context); }