Пример #1
0
 public function testCalculateRecurringTaskDueDate()
 {
     $td = new TaskDuplication($this->container);
     $values = array('date_due' => 0);
     $td->calculateRecurringTaskDueDate($values);
     $this->assertEquals(0, $values['date_due']);
     $values = array('date_due' => 0, 'recurrence_factor' => 0, 'recurrence_basedate' => Task::RECURRING_BASEDATE_TRIGGERDATE, 'recurrence_timeframe' => Task::RECURRING_TIMEFRAME_DAYS);
     $td->calculateRecurringTaskDueDate($values);
     $this->assertEquals(0, $values['date_due']);
     $values = array('date_due' => 1431291376, 'recurrence_factor' => 1, 'recurrence_basedate' => Task::RECURRING_BASEDATE_TRIGGERDATE, 'recurrence_timeframe' => Task::RECURRING_TIMEFRAME_DAYS);
     $td->calculateRecurringTaskDueDate($values);
     $this->assertEquals(time() + 86400, $values['date_due'], '', 1);
     $values = array('date_due' => 1431291376, 'recurrence_factor' => -2, 'recurrence_basedate' => Task::RECURRING_BASEDATE_TRIGGERDATE, 'recurrence_timeframe' => Task::RECURRING_TIMEFRAME_DAYS);
     $td->calculateRecurringTaskDueDate($values);
     $this->assertEquals(time() - 2 * 86400, $values['date_due'], '', 1);
     $values = array('date_due' => 1431291376, 'recurrence_factor' => 1, 'recurrence_basedate' => Task::RECURRING_BASEDATE_DUEDATE, 'recurrence_timeframe' => Task::RECURRING_TIMEFRAME_DAYS);
     $td->calculateRecurringTaskDueDate($values);
     $this->assertEquals(1431291376 + 86400, $values['date_due'], '', 1);
     $values = array('date_due' => 1431291376, 'recurrence_factor' => -1, 'recurrence_basedate' => Task::RECURRING_BASEDATE_DUEDATE, 'recurrence_timeframe' => Task::RECURRING_TIMEFRAME_DAYS);
     $td->calculateRecurringTaskDueDate($values);
     $this->assertEquals(1431291376 - 86400, $values['date_due'], '', 1);
     $values = array('date_due' => 1431291376, 'recurrence_factor' => 2, 'recurrence_basedate' => Task::RECURRING_BASEDATE_DUEDATE, 'recurrence_timeframe' => Task::RECURRING_TIMEFRAME_MONTHS);
     $td->calculateRecurringTaskDueDate($values);
     $this->assertEquals(1436561776, $values['date_due'], '', 1);
     $values = array('date_due' => 1431291376, 'recurrence_factor' => 2, 'recurrence_basedate' => Task::RECURRING_BASEDATE_DUEDATE, 'recurrence_timeframe' => Task::RECURRING_TIMEFRAME_YEARS);
     $td->calculateRecurringTaskDueDate($values);
     $this->assertEquals(1494449776, $values['date_due'], '', 1);
 }