public function testDateRangeExclusiveSearchEndOfRange()
 {
     $intervals = $this->getDateRangeExclusiveIntervals();
     $tree = new IntervalTree($intervals);
     $searchRange = new DateRangeExclusive(date_create('2014-09-09T00:00:00+00:00'), date_create('2014-09-11T00:00:00+00:00'));
     $results = $tree->search($searchRange);
     $this->assertCount(1, $results);
     $this->assertSame($intervals[2], $results[0]);
 }
 public function testNumericInclusiveSingleItemSearch()
 {
     $intervals = array(new NumericRangeInclusive(1, 10));
     $tree = new IntervalTree($intervals);
     $results = $tree->search(4);
     $this->assertCount(1, $results);
     $this->assertSame($intervals[0], $results[0]);
     $results = $tree->search(12);
     $this->assertCount(0, $results);
 }
示例#3
0
 /**
  * @param Range[] $ranges
  * @param callable|null $comparator
  */
 public function __construct(array $ranges, callable $comparator = null)
 {
     $this->ranges = $ranges;
     parent::__construct($ranges, $comparator);
 }