public function testGetEndIndex() { $item = new DiaryItem(); $item->setStartIndex(1); $item->setNumberOfDays(4); $this->assertEquals(4, $item->getEndIndex()); }
public function testGetTimes() { $item = new DiaryItem(); $item->setStartAt(new \DateTime('15:00')); $item->setEndAt(new \DateTime('16:00')); $this->row->addItem($item); $this->assertEquals('14:00', $this->row->getStartTime()->format('H:i')); $this->assertEquals('15:00', $this->row->getEndTime()->format('H:i')); $this->assertEquals('1 February 2014', $this->row->getStartDate()->format('j F Y')); }
public function addEvent(EventInterface $event) { $item = new DiaryItem(); $item->setEvent($event); $item->setStartAt($event->getStartTime()); $item->setEndAt($event->getEndTime()); if ($event instanceof SingleDayEventInterface) { $item->setNumberOfDays(1); $item->setStartIndex($this->calculateIndex($event->getDate())); $this->addItem($item); } elseif ($event instanceof MultiDayEventInterface) { if ($event->getStartDate() < $event->getExcludeDate() && $event->getExcludeDate() < $event->getEndDate()) { $start_index = $this->calculateIndex($event->getStartDate()); $end_index = $this->calculateIndex($event->getExcludeDate()); $item->setStartIndex($start_index); $item->setNumberOfDays($end_index - $start_index); $this->addItem($item); $item2 = clone $item; $start_index = $this->calculateIndex($event->getExcludeDate()); $end_index = $this->calculateIndex($event->getEndDate()); $item2->setStartIndex($start_index + 1); $item2->setNumberOfDays($end_index - $start_index); $this->addItem($item2); } else { $start_index = $this->calculateIndex($event->getStartDate()); $end_index = $this->calculateIndex($event->getEndDate()); $numberOfDays = $end_index - $start_index + 1; if ($numberOfDays > 0) { $item->setStartIndex($start_index); $item->setNumberOfDays($end_index - $start_index + 1); $this->addItem($item); } } } }