private function putSchedulesInWeekarray($semana, array $schedules, $interval) { $diasSemana = array('Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado', 'Domingo'); foreach ($schedules as $schedule) { $h = array('minutes' => (int) $schedule['startingHour']->format('i'), 'hours' => (int) $schedule['startingHour']->format('H')); $hf = array('minutes' => (int) $schedule['finishHour']->format('i'), 'hours' => (int) $schedule['finishHour']->format('H')); // Ojo, el redondeo de horas falla $hr = TimeMachine::roundMinutes($h); // obtengo la hora inicio redondeada $hfr = TimeMachine::roundMinutes($hf); // obtengo la hora final redondeada $intervaloHoras = TimeMachine::arrayIntervaloHoras($hr, $hfr, $interval); $d = $diasSemana[date('N', strtotime($schedule['scheduleDate']->format('Y-m-d'))) - 1]; foreach ($intervaloHoras as $value) { $semana[$d][$value]['nombreCita'] = $schedule['name'] . " " . $schedule['lastName']; $semana[$d][$value]['idCita'] = $schedule['id']; $semana[$d][$value]['idAppointment'] = $schedule['appointment']; } } return $semana; }
/** * @param array with hour and minutes * @param string with hour and minutes round to 15 * * @dataProvider providerTestRoundMinutes */ public function testRoundMinutes(array $time, $expectedResult) { $hr = TimeMachine::roundMinutes($time); // obtengo la hora inicio redondeada $this->assertEquals($hr, $expectedResult); }