Nelmio\Alice\Generator\Resolver\Parameter\Chainable\ArrayParameterResolverTest::testTheContextPassedToTheInjectedResolverIsAlwaysValid PHP Метод

testTheContextPassedToTheInjectedResolverIsAlwaysValid() публичный Метод

public testTheContextPassedToTheInjectedResolverIsAlwaysValid ( ResolvingContext $context = null, ResolvingContext $expected )
$context Nelmio\Alice\Generator\Resolver\ResolvingContext
$expected Nelmio\Alice\Generator\Resolver\ResolvingContext
    public function testTheContextPassedToTheInjectedResolverIsAlwaysValid(ResolvingContext $context = null, ResolvingContext $expected)
    {
        $array = [$val1 = 'foo', $val2 = 'bar'];
        $parameter = new Parameter('array_param', $array);
        $unresolvedParameters = new ParameterBag(['name' => 'unresolvedParams']);
        $resolvedParameters = new ParameterBag(['name' => 'resolvedParams']);
        $injectedResolverProphecy = $this->prophesize(ParameterResolverInterface::class);
        $injectedResolverProphecy->resolve(new Parameter('0', $val1), $unresolvedParameters, $resolvedParameters, $expected)->willReturn(new ParameterBag(['name' => 'resolvedParams', '0' => 'val1']));
        $injectedResolverProphecy->resolve(new Parameter('1', $val2), $unresolvedParameters, $resolvedParameters, $expected)->willReturn(new ParameterBag(['name' => 'resolvedParams', '1' => 'val2']));
        /* @var ParameterResolverInterface $injectedResolver */
        $injectedResolver = $injectedResolverProphecy->reveal();
        $resolver = (new ArrayParameterResolver())->withResolver($injectedResolver);
        $result = $resolver->resolve($parameter, $unresolvedParameters, $resolvedParameters, $context);
        $this->assertEquals(new ParameterBag(['name' => 'resolvedParams', 'array_param' => ['0' => 'val1', '1' => 'val2']]), $result);
    }