public function testOverlaps() { // Pattern 1 $dateRange = new DateRange(strtotime('2015-10-01'), strtotime('2015-10-20')); $target = new DateRange(strtotime('2015-10-10'), strtotime('2015-10-25')); $actual = $dateRange->overlaps($target); $this->assertTrue($actual); // Pattern 2 $target = new DateRange(strtotime('2015-10-21'), strtotime('2015-10-25')); $actual = $dateRange->overlaps($target); $this->assertFalse($actual); // Pattern 3 $dateRange = new DateRange(strtotime('2015-10-01'), strtotime('2015-10-20')); $target = new DateRange(strtotime('2015-09-20'), strtotime('2015-10-10')); $actual = $dateRange->overlaps($target); $this->assertTrue($actual); // Pattern 4 $target = new DateRange(strtotime('2015-09-20'), strtotime('2015-09-25')); $actual = $dateRange->overlaps($target); $this->assertFalse($actual); }