Nelmio\Alice\Generator\Resolver\Parameter\RemoveConflictingParametersParameterBagResolverTest::testRemovesAllConflictingKeysFromInjectedParametersBagBeforeResolvingIt PHP Method

testRemovesAllConflictingKeysFromInjectedParametersBagBeforeResolvingIt() public method

    public function testRemovesAllConflictingKeysFromInjectedParametersBagBeforeResolvingIt()
    {
        $unresolvedParameters = new ParameterBag(['foo' => '(unresolved) bar', 'ping' => '(unresolved) pong']);
        $injectedParameters = new ParameterBag(['foo' => 'bar', 'foz' => 'baz']);
        $decoratedResolverProphecy = $this->prophesize(ParameterBagResolverInterface::class);
        $decoratedResolverProphecy->resolve($unresolvedParameters, new ParameterBag(['foz' => 'baz']))->willReturn($expected = new ParameterBag(['foo' => '(resolved) bar', 'ping' => '(resolved) pong', 'foz' => 'baz']));
        /* @var ParameterBagResolverInterface $decoratedResolver */
        $decoratedResolver = $decoratedResolverProphecy->reveal();
        $resolver = new RemoveConflictingParametersParameterBagResolver($decoratedResolver);
        $actual = $resolver->resolve($unresolvedParameters, $injectedParameters);
        $this->assertEquals($expected, $actual);
        $decoratedResolverProphecy->resolve(Argument::cetera())->shouldHaveBeenCalledTimes(1);
    }