public function testResolvesBagWithInjectedParameters()
{
$unresolvedParameters = new ParameterBag(['foo' => '(unresolved) bar', 'ping' => '(unresolved) pong']);
$injectedParameters = new ParameterBag(['other_param' => 'oï']);
$decoratedResolverProphecy = $this->prophesize(ParameterResolverInterface::class);
$decoratedResolverProphecy->resolve(new Parameter('foo', '(unresolved) bar'), $unresolvedParameters, $injectedParameters, new ResolvingContext('foo'))->willReturn(new ParameterBag(['other_param' => 'yo', 'foo' => 'bar']));
$decoratedResolverProphecy->resolve(new Parameter('ping', '(unresolved) pong'), $unresolvedParameters, new ParameterBag(['other_param' => 'yo', 'foo' => 'bar']), new ResolvingContext('ping'))->willReturn(new ParameterBag(['other_param' => 'yo', 'foo' => 'bar', 'ping' => 'pong']));
/* @var ParameterResolverInterface $decoratedResolver */
$decoratedResolver = $decoratedResolverProphecy->reveal();
$resolver = new SimpleParameterBagResolver($decoratedResolver);
$result = $resolver->resolve($unresolvedParameters, $injectedParameters);
$this->assertEquals(new ParameterBag(['other_param' => 'yo', 'foo' => 'bar', 'ping' => 'pong']), $result);
}