Nelmio\Alice\Throwable\Exception\InvalidArgumentExceptionFactory::createForInvalidDynamicArrayQuantifier PHP Method

createForInvalidDynamicArrayQuantifier() public static method

public static createForInvalidDynamicArrayQuantifier ( Nelmio\Alice\FixtureInterface $fixture, integer $quantifier ) : InvalidArgumentException
$fixture Nelmio\Alice\FixtureInterface
$quantifier integer
return InvalidArgumentException
    public static function createForInvalidDynamicArrayQuantifier(FixtureInterface $fixture, int $quantifier) : \InvalidArgumentException
    {
        return new \InvalidArgumentException(sprintf('Expected quantifier to be a positive integer. Got "%d" for "%s", check you dynamic  arrays ' . 'declarations (e.g. "<numberBetween(1, 2)>x @user*").', $quantifier, $fixture->getId()));
    }

Usage Example

 /**
  * {@inheritdoc}
  *
  * @param DynamicArrayValue $value
  */
 public function resolve(ValueInterface $value, FixtureInterface $fixture, ResolvedFixtureSet $fixtureSet, array $scope, GenerationContext $context) : ResolvedValueWithFixtureSet
 {
     $this->checkResolver(__METHOD__);
     $quantifier = $value->getQuantifier();
     if ($quantifier instanceof ValueInterface) {
         $result = $this->resolver->resolve($quantifier, $fixture, $fixtureSet, $scope, $context);
         list($quantifier, $fixtureSet) = [$result->getValue(), $result->getSet()];
     }
     if ($quantifier < 0) {
         throw InvalidArgumentExceptionFactory::createForInvalidDynamicArrayQuantifier($fixture, $quantifier);
     }
     $element = $value->getElement();
     if (false === $element instanceof ValueInterface) {
         $array = array_fill(0, $quantifier, $element);
         return new ResolvedValueWithFixtureSet($array, $fixtureSet);
     }
     $array = [];
     for ($i = 0; $i < $quantifier; $i++) {
         $result = $this->resolver->resolve($element, $fixture, $fixtureSet, $scope, $context);
         $array[] = $result->getValue();
         $fixtureSet = $result->getSet();
     }
     return new ResolvedValueWithFixtureSet($array, $fixtureSet);
 }