/** * Returns the Ideal Burndown based on the initial remaining effort. * * @return Array */ public function getIdealEffort() { $start_effort = $this->getFirstEffort(); foreach ($this->time_period->getDayOffsets() as $day_offset) { $this->ideal_effort[] = $this->getIdealEffortAtDay($day_offset, $start_effort); } return $this->ideal_effort; }
public function itProvidesAListOfTheDayOffsetsInTheTimePeriod() { $start_date = mktime(0, 0, 0, 7, 4, 2012); $time_period = new Tracker_Chart_Data_BurndownTimePeriod($start_date, 2); $this->assertEqual($time_period->getDayOffsets(), array(0, 1, 2)); }
public function getBurndownData(Tracker_Artifact $artifact, User $user, $start_date, $duration) { $field = $this->getBurndownRemainingEffortField($artifact, $user); $time_period = new Tracker_Chart_Data_BurndownTimePeriod($start_date, $duration); $burndown_data = new Tracker_Chart_Data_Burndown($time_period); $tonight = mktime(23, 59, 59, date('n'), date('j'), date('Y')); foreach ($time_period->getDayOffsets() as $day_offset) { $timestamp = strtotime("+{$day_offset} day 23 hours 59 minutes 59 seconds", $start_date); if ($timestamp <= $tonight) { $remaining_effort = $field->getComputedValue($user, $artifact, $timestamp); $burndown_data->pushRemainingEffort($remaining_effort); } } return $burndown_data; }