public function testGreater() { $point = new TimePoint(2012, 2, 1, 1, 0, 30); // second $this->assertTrue($point->isAfter(new TimePoint(2012, 2, 1, 1, 0, 29))); $this->assertFalse($point->isAfter(new TimePoint(2012, 2, 1, 1, 0, 30))); $this->assertFalse($point->isAfter(new TimePoint(2012, 2, 1, 1, 0, 31))); }
public function testHowToKnowIfItIsBeforeAfterEqualAnOtherTimePoint() { $first = new TimePoint(2013, 3, 12, 18, 27); $second = new TimePoint(2013, 6, 23, 6, 31, 11); $third = new TimePoint(2013, 6, 23, 6, 31, 11); $this->assertEquals($second->isAfter($first), true); $this->assertEquals($second->isBefore($third), false); $this->assertEquals($first->isAfter($second), false); $this->assertEquals($third->isEquals($second), true); }
/** * @param TimePoint $begin * @param null|TimePoint $end * * @return array */ private function getEvents(TimePoint $begin, TimePoint $end = null) { $events = $this->events; $offset = 0; foreach ($events as $event) { if ($event->getInterval()->getEnd()->isAfter($begin) || $event->getInterval()->getEnd()->isEquals($begin)) { break; } else { $offset++; } } $events = array_slice($events, $offset); if (null === $end) { return $events; } $length = count($events); foreach (array_reverse($events) as $event) { if ($end->isAfter($event->getInterval()->getBegin())) { break; } else { $length--; } } return array_slice($events, 0, $length); }