assertNull($sut->getNumberGenerator()); $this->assertNull($sut->getCalculator()); $this->assertNull($sut->getTemplate()); $this->assertNull($sut->getCustomer()); $this->assertNull($sut->getQuery()); $this->assertNull($sut->getDueDate()); $this->assertEmpty($sut->getEntries()); $this->assertIsArray($sut->getEntries()); $this->assertInstanceOf(\DateTime::class, $sut->getInvoiceDate()); } public function testSetter() { $sut = new InvoiceModel(); $sut->setTemplate((new InvoiceTemplate())->setDueDays(10)); $sut->setCustomer(new Customer()); $sut->setQuery(new InvoiceQuery()); $sut->setEntries([new Timesheet()]); $sut->setNumberGenerator(new DateNumberGenerator()); $sut->setCalculator(new DefaultCalculator()); $this->assertInstanceOf(DateNumberGenerator::class, $sut->getNumberGenerator()); $this->assertInstanceOf(DefaultCalculator::class, $sut->getCalculator()); $this->assertInstanceOf(InvoiceTemplate::class, $sut->getTemplate()); $this->assertInstanceOf(Customer::class, $sut->getCustomer()); $this->assertInstanceOf(InvoiceQuery::class, $sut->getQuery()); $this->assertInstanceOf(\DateTime::class, $sut->getDueDate()); $this->assertInstanceOf(Timesheet::class, $sut->getEntries()[0]); $this->assertInstanceOf(\DateTime::class, $sut->getInvoiceDate()); $this->assertEquals( (new \DateTime('+10 days'))->format('Y-m-d'), $sut->getDueDate()->format('Y-m-d') ); } }