/**
  * {@inheritdoc}
  */
 public function guessConstraints(AttributeInterface $attribute)
 {
     $constraints = array();
     if (!$attribute->isDecimalsAllowed()) {
         $constraints[] = new NotDecimal();
     }
     return $constraints;
 }
 function it_adds_violation_when_max_is_negative_allowed_but_decimal_not_allowed($context, AttributeInterface $attribute, ValidNumberRange $constraint)
 {
     $attribute->isNegativeAllowed()->willReturn(true);
     $attribute->isDecimalsAllowed()->willReturn(false);
     $attribute->getNumberMin()->willReturn(-2);
     $attribute->getNumberMax()->willReturn(-1.2);
     $context->addViolationAt('numberMax', $constraint->invalidNumberMessage)->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');
 }
 function it_does_not_guess_decimal_allowed(AttributeInterface $attribute)
 {
     $attribute->isDecimalsAllowed()->willReturn(true)->shouldBeCalled();
     $constraints = $this->guessConstraints($attribute);
     $constraints->shouldReturn([]);
 }