public function testSigns() { $zero = new Amount('+0'); $this->assertTrue($zero->isZero()); $this->assertFalse($zero->isPositive()); $this->assertFalse($zero->isNegative()); $ten = new Amount('+10'); $this->assertFalse($ten->isZero()); $this->assertTrue($ten->isPositive()); $this->assertFalse($ten->isNegative()); $absoluteTen = $ten->getAbsolute(); $this->assertNotSame($ten, $absoluteTen); $this->assertTrue($absoluteTen->isPositive()); $this->assertFalse($absoluteTen->isNegative()); $invertedTen = $ten->getInverted(); $this->assertNotSame($ten, $invertedTen); $this->assertFalse($invertedTen->isPositive()); $this->assertTrue($invertedTen->isNegative()); $absoluteIinvertedTen = $invertedTen->getAbsolute(); $this->assertNotSame($absoluteIinvertedTen, $invertedTen); $this->assertTrue($absoluteIinvertedTen->isPositive()); $this->assertFalse($absoluteIinvertedTen->isNegative()); }