public function testGetSetDuration() { $object = new Task(); $value = rand(1, 100); $this->assertEquals(0, $object->getDuration()); $this->assertInstanceOf('PhpOffice\\PhpProject\\Task', $object->setDuration($value)); $this->assertEquals($value, $object->getDuration()); }
/** * Permits to clean a task * - If the duration is not filled, but the end date is, we calculate it. * - If the end date is not filled, but the duration is, we calculate it. * @param PHPProject_Task $oTask */ private function sanitizeTask(Task $oTask) { $pDuration = $oTask->getDuration(); $pEndDate = $oTask->getEndDate(); $pStartDate = $oTask->getStartDate(); if (is_null($pDuration) && !is_null($pEndDate)) { $iTimeDiff = $pEndDate - $pStartDate; $iNumDays = $iTimeDiff / 60 / 60 / 24; $oTask->setDuration($iNumDays + 1); } elseif (!is_null($pDuration) && is_null($pEndDate)) { $oTask->setEndDate($pStartDate + $pDuration * 24 * 60 * 60); } }
/** * Record "Task" * @param Task $oTask */ private function writeRecord70(Task $oTask) { $this->fileContent[] = '70;' . $oTask->getIndex() . ';' . $oTask->getName() . ';' . $oTask->getDuration() . 'd;' . number_format($oTask->getProgress(), 1) . ';' . date('d/m/Y', $oTask->getStartDate()); foreach ($oTask->getResources() as $oResource) { $this->writeRecord75($oResource); } foreach ($oTask->getTasks() as $oSubTask) { $this->writeRecord70($oSubTask); } }