public function validate($instruction, Constraint $constraint)
{
if (null === $instruction->getCodeLength() || null === $instruction->getAmount()) {
return;
}
/** @var PromotionCouponGeneratorInstructionInterface $value */
Assert::isInstanceOf($instruction, PromotionCouponGeneratorInstructionInterface::class);
/** @var CouponPossibleGenerationAmount $constraint */
Assert::isInstanceOf($constraint, CouponPossibleGenerationAmount::class);
if (!$this->generationPolicy->isGenerationPossible($instruction)) {
$this->context->addViolation($constraint->message, array('%expectedAmount%' => $instruction->getAmount(), '%codeLength%' => $instruction->getCodeLength(), '%possibleAmount%' => $this->generationPolicy->getPossibleGenerationAmount($instruction)));
}
}