public function testIndexesAreAdjacent() { $r = new Reference(); $this->assertTrue($r->indexesAreAdjacent($r->quadrupleToIndex([1, 1, 1, 1]), $r->quadrupleToIndex([1, 1, 1, 2]))); $this->assertFalse($r->indexesAreAdjacent($r->quadrupleToIndex([1, 1, 1, 1]), $r->quadrupleToIndex([1, 1, 1, 3]))); $this->assertTrue($r->indexesAreAdjacent($r->quadrupleToIndex([1, 1, 1, 999]), $r->quadrupleToIndex([1, 1, 2, 1]))); }
public function createReferenceFromQuadrupleRanges($quadrupleRanges) { $r = new Reference(); $ranges = []; foreach ($quadrupleRanges as $quadrupleRange) { list($start, $end) = $quadrupleRange; $r->requireValidQuadruple($start); $r->requireValidQuadruple($end); $ranges[] = [$r->quadrupleToIndex($start), $r->quadrupleToIndex($end)]; } return $this->createReferenceFromRanges($ranges); }