/**
  * @covers edsonmedina\simpletype\DateTimeRange::__construct
  * @covers edsonmedina\simpletype\DateTimeRange::overlaps
  */
 public function testDatetimeOverlaps()
 {
     $range1 = new DateTimeRange(new DateTime('2000-01-01'), new DateTime('2010-01-01'));
     $range2 = new DateTimeRange(new DateTime('2009-01-01'), new DateTime('2015-01-01'));
     $range3 = new DateTimeRange(new DateTime('1998-01-01'), new DateTime('2002-01-01'));
     $range4 = new DateTimeRange(new DateTime('1996-01-01'), new DateTime('2020-01-01'));
     $range5 = new DateTimeRange(new DateTime('2030-01-01'), new DateTime('2032-01-01'));
     $this->assertTrue($range1->overlaps($range2));
     $this->assertTrue($range1->overlaps($range3));
     $this->assertTrue($range1->overlaps($range4));
     $this->assertFalse($range1->overlaps($range5));
     $this->assertFalse($range2->overlaps($range3));
 }
Esempio n. 2
0
 /**
  * Checks if ranges overlap
  * @param DateTimeRange $range
  * @return bool
  */
 public function overlaps(DateTimeRange $range)
 {
     return $range->getStartDateTime() <= $this->end && $range->getEndDateTime() >= $this->start;
 }