/**
  * @test
  */
 public function I_can_create_it()
 {
     $twentyFive = new PositiveNumberObject(25);
     self::assertSame(25, $twentyFive->getValue());
     self::assertInstanceOf(NumberObject::getClass(), $twentyFive);
     self::assertInstanceOf('\\Granam\\Number\\PositiveNumber', $twentyFive);
     $twoHundredths = new PositiveNumberObject(0.02);
     self::assertSame(0.02, $twoHundredths->getValue());
     self::assertInstanceOf(NumberObject::getClass(), $twoHundredths);
     self::assertInstanceOf('\\Granam\\Number\\PositiveNumber', $twoHundredths);
     $zero = new PositiveNumberObject(-0.0);
     self::assertSame(0.0, $zero->getValue());
     self::assertInstanceOf(NumberObject::getClass(), $zero);
     self::assertInstanceOf('\\Granam\\Number\\PositiveNumber', $zero);
 }
 /**
  * @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);
 }
 /**
  * @return string
  */
 protected function getExternalRootNamespaces()
 {
     $numberClassReflection = new \ReflectionClass(NumberObject::getClass());
     return $numberClassReflection->getNamespaceName();
 }
 protected function getRootNamespace()
 {
     $rootReflection = new \ReflectionClass(NumberObject::getClass());
     return $rootReflection->getNamespaceName();
 }