/** * @test */ public function I_can_create_it() { $minusOne = new NegativeNumberObject(-1); self::assertSame(-1, $minusOne->getValue()); self::assertInstanceOf(NumberObject::getClass(), $minusOne); self::assertInstanceOf('\\Granam\\Number\\NegativeNumber', $minusOne); $floatMinusOne = new NegativeNumberObject(-1.0); self::assertSame(-1.0, $floatMinusOne->getValue()); self::assertInstanceOf(NumberObject::getClass(), $floatMinusOne); self::assertInstanceOf('\\Granam\\Number\\NegativeNumber', $floatMinusOne); $zero = new NegativeNumberObject(0.0); self::assertSame(0.0, $zero->getValue()); self::assertInstanceOf(NumberObject::getClass(), $zero); self::assertInstanceOf('\\Granam\\Number\\NegativeNumber', $zero); }
/** * @param mixed $value * @param bool $strict = true allows only explicit values, not null and empty string * @param bool $paranoid Throws exception if some value is lost on cast because of rounding * @throws \Granam\Float\Tools\Exceptions\NegativeFloatCanNotBePositive * @throws \Granam\Float\Tools\Exceptions\WrongParameterType * @throws \Granam\Float\Tools\Exceptions\ValueLostOnCast */ public function __construct($value, $strict = true, $paranoid = false) { /** @noinspection ExceptionsAnnotatingAndHandlingInspection */ parent::__construct(ToFloat::toNegativeFloat($value, $strict, $paranoid)); }