Nelmio\Alice\Generator\Resolver\Parameter\StringParameterResolverTest::testChecksIfParameterIsReferencedBeforeTryingToResolveIt PHP Метод

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

    public function testChecksIfParameterIsReferencedBeforeTryingToResolveIt()
    {
        $parameter = new Parameter('foo', '<{bar}>');
        $unresolvedParameters = new ParameterBag();
        $resolvedParameters = new ParameterBag();
        $resolver = new StringParameterResolver();
        try {
            $resolver->resolve($parameter, $unresolvedParameters, $resolvedParameters);
            $this->fail('Expected exception to be thrown');
        } catch (ParameterNotFoundException $exception) {
            $this->assertEquals('Could not find the parameter "bar" when resolving "foo".', $exception->getMessage());
        }
        $injectedResolverProphecy = $this->prophesize(ParameterResolverInterface::class);
        $injectedResolverProphecy->resolve(Argument::cetera())->shouldNotBeCalled();
        /* @var ParameterResolverInterface $injectedResolver */
        $injectedResolver = $injectedResolverProphecy->reveal();
        $resolver = (new StringParameterResolver())->withResolver($injectedResolver);
        try {
            $resolver->resolve($parameter, $unresolvedParameters, $resolvedParameters);
            $this->fail('Expected exception to be thrown');
        } catch (ParameterNotFoundException $exception) {
            $this->assertEquals('Could not find the parameter "bar" when resolving "foo".', $exception->getMessage());
        }
    }