Nelmio\Alice\Generator\Resolver\Value\Chainable\FunctionCallArgumentResolver::withValueResolver PHP Method

withValueResolver() public method

public withValueResolver ( Nelmio\Alice\Generator\ValueResolverInterface $argumentsResolver ) : self
$argumentsResolver Nelmio\Alice\Generator\ValueResolverInterface
return self
    public function withValueResolver(ValueResolverInterface $argumentsResolver) : self
    {
        return new self($this->resolver, $argumentsResolver);
    }

Usage Example

 public function testIsResolverAware()
 {
     $decoratedResolverConstructor = function () {
         $resolver = new FakeValueResolver();
         $resolver->decorated = true;
         return $resolver;
     };
     $argumentResolverConstructor = function () {
         $resolver = new FakeValueResolver();
         $resolver->argument = true;
         return $resolver;
     };
     $resolver = new FunctionCallArgumentResolver($decoratedResolverConstructor());
     $newResolver = $resolver->withValueResolver($argumentResolverConstructor());
     $this->assertNotSame($resolver, $newResolver);
     $this->assertEquals(new FunctionCallArgumentResolver($decoratedResolverConstructor()), $resolver);
     $this->assertEquals(new FunctionCallArgumentResolver($decoratedResolverConstructor(), $argumentResolverConstructor()), $newResolver);
 }