/** * @dataProvider provideTestAllValidRanges */ public function testAllValidRanges(IndexGenerator $generator) { $index = $generator->getIndex(); for ($length = 0; $length <= $generator->getIndexLength(); $length++) { for ($min = $generator->getMinimum(); $min + $length <= $generator->getMaximum(); $min++) { $range = new index\Range($min, $min + $length); $range->setInclusive(true); $foundKeys = index\IteratorUtil::toKeysArray($index->searchRange($range)); $expectedKeys = array(); for ($key = $range->getMin(); $key <= $range->getMax(); $key++) { $expectedKeys[] = $key; } $this->assertEquals($expectedKeys, $foundKeys, "failed range[{$range->getMin()}, {$range->getMax()}] for index[{$generator->getMinimum()}, {$generator->getMaximum()}]"); } } }
/** * Tests defined cases * * @dataProvider provideTestIteratorCases */ public function testIteratorCases(index\IndexIterator $iterator, array $expectedKeys) { $this->assertEquals($expectedKeys, index\IteratorUtil::toKeysArray($iterator)); }