/**
  * @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));
 }