function it_adds_violation_when_min_is_greater_than_max($context, AttributeInterface $attribute, ValidNumberRange $constraint)
 {
     $attribute->getNumberMin()->willReturn(9);
     $attribute->getNumberMax()->willReturn(1);
     $attribute->isNegativeAllowed()->willReturn(false);
     $context->addViolationAt('numberMax', $constraint->message)->shouldBeCalled();
     $this->validate($attribute, $constraint);
 }
 function it_guesses_aggregated_guessers_with_range_without_notDecimal(AttributeInterface $attribute)
 {
     $attribute->getNumberMin()->willReturn(5);
     $attribute->getNumberMax()->willReturn(10);
     $attribute->isDecimalsAllowed()->willReturn(true);
     $constraints = $this->guessConstraints($attribute);
     $constraints->shouldHaveCount(1);
     $constraintsAll = $constraints[0];
     $constraintsAll->shouldBeAnInstanceOf('Symfony\\Component\\Validator\\Constraints\\All');
     $constraintsAll->constraints->shouldHaveCount(3);
     $constraintsAll->constraints[0]->shouldBeAnInstanceOf('Symfony\\Component\\Validator\\Constraints\\Type');
     $constraintsAll->constraints[0]->type->shouldBe('Pim\\Bundle\\CatalogBundle\\Model\\ProductPriceInterface');
     $constraintsAll->constraints[1]->shouldBeAnInstanceOf('Pim\\Bundle\\CatalogBundle\\Validator\\Constraints\\Numeric');
     $constraintsAll->constraints[2]->shouldBeAnInstanceOf('Pim\\Bundle\\CatalogBundle\\Validator\\Constraints\\Range');
 }
 /**
  * {@inheritdoc}
  */
 public function guessConstraints(AttributeInterface $attribute)
 {
     $constraints = array();
     if ('pim_catalog_date' === $attribute->getAttributeType()) {
         $min = $attribute->getDateMin();
         $max = $attribute->getDateMax();
     } else {
         $min = $attribute->getNumberMin();
         $max = $attribute->getNumberMax();
         if (false === $attribute->isNegativeAllowed() && ($min === null || $min < 0)) {
             $min = 0;
         }
     }
     if (null !== $min || null !== $max) {
         $constraints[] = new Range(array('min' => $min, 'max' => $max));
     }
     return $constraints;
 }
 function it_does_not_guess_minmax_date(AttributeInterface $attribute)
 {
     $attribute->getAttributeType()->willReturn('pim_catalog_date');
     $attribute->getDateMin()->willReturn(null);
     $attribute->getDateMax()->willReturn(null);
     $attribute->getNumberMin()->shouldNotBeCalled();
     $attribute->getNumberMax()->shouldNotBeCalled();
     $attribute->isNegativeAllowed()->shouldNotBeCalled();
     $constraints = $this->guessConstraints($attribute);
     $constraints->shouldReturn([]);
 }