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); }
/** * @param Range[] $ranges * @param callable|null $comparator */ public function __construct(array $ranges, callable $comparator = null) { $this->ranges = $ranges; parent::__construct($ranges, $comparator); }