public function __set($name, $value) { if (('lower' === $name || 'upper' === $name) && null !== $value) { if (!is_numeric($value)) { throw new InvalidArgumentException("NumericRange {$name} bound should be numeric"); } if ('upper' === $name && null !== $this->lower && floatval($this->lower) > floatval($value) || 'lower' === $name && null !== $this->upper && floatval($this->upper) < floatval($value)) { throw new InvalidArgumentException("Range lower bound must be less than or equal to range upper bound"); } } parent::__set($name, $value); }
public function __set($name, $value) { if (('upper' === $name || 'lower' === $name) && null !== $value) { if (!$value instanceof DateTime) { throw new InvalidArgumentException("DateTimeRange {$name} bound should be an instance of DateTime"); } if ('upper' === $name && null !== $this->lower && $this->lower > $value || 'lower' === $name && null !== $this->upper && $this->upper < $value) { throw new InvalidArgumentException("Range lower bound must be less than or equal to range upper bound"); } } parent::__set($name, $value); }
protected function valuesFrom() { return array(array('-[a,z)', new TypeConversionException()), array('[a,z) - ', new TypeConversionException()), array('(",a)', new TypeConversionException()), array('(,,a)', new TypeConversionException()), array('(),a)', new TypeConversionException()), array('(a,))', new TypeConversionException()), array('(],a)', new TypeConversionException()), array('(a,])', new TypeConversionException()), array(' empty ', Range::createEmpty()), array(' ( empty, empty ) ', new Range(' empty', ' empty ', false, false)), array(' ( " a " " a ", " z " " z " ) ', new Range(' a a ', ' z z ', false, false)), array('(,z)', new Range(null, 'z', false, false)), array('(a,)', new Range('a', null, false, false)), array('[,z]', new Range(null, 'z', true, true)), array('[a,]', new Range('a', null, true, true)), array('(,)', new Range(null, null, false, false)), array('[ , ]', new Range(' ', ' ', true, true)), array('["",""]', new Range('', '', true, true)), array('[",",","]', new Range(',', ',', true, true)), array('["\\\\","\\\\"]', new Range('\\', '\\', true, true)), array('(\\\\,a)', new Range('\\', 'a', false, false)), array('((,z)', new Range('(', 'z', false, false)), array('([,z)', new Range('[', 'z', false, false)), array('(!,()', new Range('!', '(', false, false)), array('(!,[)', new Range('!', '[', false, false)), array('[a,a]', new Range('a', 'a', true, true)), array('("a","bc\\\\\\""""]', new Range('a', 'bc\\""', false, true))); }