/**
  * {@inheritdoc}
  */
 public function guessConstraints(AttributeInterface $attribute)
 {
     $constraints = array();
     $options = array();
     if ($maxSize = $attribute->getMaxFileSize()) {
         if ($maxSize == (int) $maxSize) {
             $maxSize = (int) $maxSize;
             $unit = self::MEGABYTE_UNIT;
         } else {
             $maxSize = intval($maxSize * self::KILOBYTE_MULTIPLIER);
             $unit = self::KILOBYTE_UNIT;
         }
         $options['maxSize'] = sprintf('%d%s', $maxSize, $unit);
     }
     if ($allowedExtensions = $attribute->getAllowedExtensions()) {
         $options['allowedExtensions'] = $allowedExtensions;
     }
     if ($options) {
         $constraints[] = new File($options);
     }
     return $constraints;
 }
 function it_does_not_guess_file_with_invalid_maxsize(AttributeInterface $attribute)
 {
     $attribute->getMaxFileSize()->willReturn('not_a_numeric_value')->shouldBeCalled();
     $attribute->getAllowedExtensions()->willReturn(null)->shouldBeCalled();
     $constraints = $this->guessConstraints($attribute);
     $constraints->shouldReturn([]);
     $attribute->getMaxFileSize()->willReturn(0)->shouldBeCalled();
     $constraints = $this->guessConstraints($attribute);
     $constraints->shouldReturn([]);
 }