Nelmio\Alice\Generator\Resolver\Parameter\SimpleParameterBagResolverTest::testDecoratesResolverToResolveParameterBag PHP Method

testDecoratesResolverToResolveParameterBag() public method

    public function testDecoratesResolverToResolveParameterBag()
    {
        $unresolvedParameters = new ParameterBag(['foo' => '(unresolved) bar', 'ping' => '(unresolved) pong']);
        $injectedResolverProphecy = $this->prophesize(ParameterResolverInterface::class);
        $injectedResolverProphecy->resolve(new Parameter('foo', '(unresolved) bar'), $unresolvedParameters, new ParameterBag(), new ResolvingContext('foo'))->willReturn($firstResolveResult = new ParameterBag(['foo' => 'bar', 'other_param' => 'yo']));
        $injectedResolverProphecy->resolve(new Parameter('ping', '(unresolved) pong'), $unresolvedParameters, $firstResolveResult, new ResolvingContext('ping'))->willReturn(new ParameterBag(['foo' => 'bar', 'other_param' => 'yo', 'ping' => 'pong']));
        /* @var ParameterResolverInterface $injectedResolver */
        $injectedResolver = $injectedResolverProphecy->reveal();
        $resolver = new SimpleParameterBagResolver($injectedResolver);
        $result = $resolver->resolve($unresolvedParameters);
        $this->assertEquals(new ParameterBag(['foo' => 'bar', 'other_param' => 'yo', 'ping' => 'pong']), $result);
        $injectedResolverProphecy->resolve(Argument::cetera())->shouldHaveBeenCalledTimes(2);
    }