in junit-jupiter-api/src/main/java/org/junit/jupiter/api/AssertIterableEquals.java [50:77]
private static void assertIterableEquals(Iterable<?> expected, Iterable<?> actual, Deque<Integer> indexes,
Object messageOrSupplier) {
if (expected == actual) {
return;
}
assertIterablesNotNull(expected, actual, indexes, messageOrSupplier);
Iterator<?> expectedIterator = expected.iterator();
Iterator<?> actualIterator = actual.iterator();
int processed = 0;
while (expectedIterator.hasNext() && actualIterator.hasNext()) {
processed++;
Object expectedElement = expectedIterator.next();
Object actualElement = actualIterator.next();
if (Objects.equals(expectedElement, actualElement)) {
continue;
}
indexes.addLast(processed - 1);
assertIterableElementsEqual(expectedElement, actualElement, indexes, messageOrSupplier);
indexes.removeLast();
}
assertIteratorsAreEmpty(expectedIterator, actualIterator, processed, indexes, messageOrSupplier);
}