assertEquals('01', $sut->getMonth()); $this->assertEquals(0, $sut->getTotalDuration()); $this->assertEquals(0, $sut->getTotalRate()); } public function testAllowedMonths() { for ($i = 1; $i < 10; $i++) { new Month('0' . $i); } for ($i = 10; $i < 13; $i++) { new Month((string) $i); } $this->assertTrue(true); } public function testInvalidMonths() { foreach (['00', '13', '99', '0.9'] as $month) { $ex = null; try { new Month($month); } catch (\Exception $e) { $ex = $e; } $this->assertInstanceOf(\InvalidArgumentException::class, $ex); $this->assertEquals( 'Invalid month given, expected 01-12 but given: ' . ((int) $month), $ex->getMessage() ); } } public function testSetter() { $sut = new Month('01'); $sut->setTotalDuration(999.27); $sut->setTotalRate(0.123456789); $this->assertEquals(999.27, $sut->getTotalDuration()); $this->assertEquals(0.123456789, $sut->getTotalRate()); } }