private void checkPairIterator(int[] left, int[] right, IntList leftList, LongList rightList) {
IntLongPairIterator pit = new IntLongPairIterator(leftList, rightList);
assertFalse(pit.hasValue());
int len = Math.min(left.length, right.length);
assertEquals(Arrays.toString(left) + " " + Arrays.toString(right), pit.hasNext(), len != 0);
for (int i = 0; i < len; i++) {
assertTrue(pit.hasNext());
pit.next();
assertEquals(left[i], pit.left());
assertEquals(right[i], pit.right());
}
assertFalse(pit.hasNext());
try {
pit.next();
fail();
} catch (NoSuchElementException _) {
}
int[] leftExpected = new int[len];
System.arraycopy(left, 0, leftExpected, 0, len);
long[] rightExpected = new long[len];
for (int i = 0; i < len; i++) rightExpected[i] = right[i];
CHECK.order(leftProjection(new IntLongPairIterator(leftList, rightList)), leftExpected);
CHECK.order(rightProjection(new IntLongPairIterator(leftList, rightList)), rightExpected);
}
}