|
@@ -6,6 +6,7 @@
|
|
|
*/
|
|
*/
|
|
|
package net.ranides.assira.collection.suite;
|
|
package net.ranides.assira.collection.suite;
|
|
|
|
|
|
|
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.Iterator;
|
|
import java.util.Iterator;
|
|
|
import java.util.ListIterator;
|
|
import java.util.ListIterator;
|
|
|
import java.util.NoSuchElementException;
|
|
import java.util.NoSuchElementException;
|
|
@@ -63,24 +64,30 @@ public final class IteratorTester {
|
|
|
assertEquals(index>0, iterator.hasPrevious());
|
|
assertEquals(index>0, iterator.hasPrevious());
|
|
|
assertEquals(content.length>0, iterator.hasNext());
|
|
assertEquals(content.length>0, iterator.hasNext());
|
|
|
|
|
|
|
|
|
|
+// System.err.printf("DATA = [%d] %s %n", index, Arrays.toString(content));
|
|
|
|
|
+// System.err.printf(">>>>>>>>>>>>%n");
|
|
|
for (int i=index; i<content.length; i++) {
|
|
for (int i=index; i<content.length; i++) {
|
|
|
checkIndex(iterator, i);
|
|
checkIndex(iterator, i);
|
|
|
assertTrue(iterator.hasNext());
|
|
assertTrue(iterator.hasNext());
|
|
|
assertEquals(content[i], iterator.next());
|
|
assertEquals(content[i], iterator.next());
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+// System.err.printf(" * %d / %d%n", iterator.previousIndex(), iterator.nextIndex());
|
|
|
assertFalse(iterator.hasNext());
|
|
assertFalse(iterator.hasNext());
|
|
|
|
|
+// System.err.printf(" * %d / %d%n", iterator.previousIndex(), iterator.nextIndex());
|
|
|
assertEquals(content.length>0, iterator.hasPrevious());
|
|
assertEquals(content.length>0, iterator.hasPrevious());
|
|
|
|
|
+// System.err.printf(" * %d / %d%n", iterator.previousIndex(), iterator.nextIndex());
|
|
|
assertThrows(NoSuchElementException.class, ()->
|
|
assertThrows(NoSuchElementException.class, ()->
|
|
|
iterator.next()
|
|
iterator.next()
|
|
|
);
|
|
);
|
|
|
-
|
|
|
|
|
|
|
+// System.err.printf(" * %d / %d%n", iterator.previousIndex(), iterator.nextIndex());
|
|
|
|
|
+// System.err.printf("------------%n");
|
|
|
|
|
+
|
|
|
for (int i=content.length-1; i>=0; i--) {
|
|
for (int i=content.length-1; i>=0; i--) {
|
|
|
assertTrue(iterator.hasPrevious());
|
|
assertTrue(iterator.hasPrevious());
|
|
|
assertEquals(content[i], iterator.previous());
|
|
assertEquals(content[i], iterator.previous());
|
|
|
checkIndex(iterator, i);
|
|
checkIndex(iterator, i);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+// System.err.printf("<<<<<<<<<<<<%n");
|
|
|
assertEquals(content.length>0, iterator.hasNext());
|
|
assertEquals(content.length>0, iterator.hasNext());
|
|
|
assertFalse(iterator.hasPrevious());
|
|
assertFalse(iterator.hasPrevious());
|
|
|
assertThrows(NoSuchElementException.class, ()->
|
|
assertThrows(NoSuchElementException.class, ()->
|
|
@@ -102,6 +109,7 @@ public final class IteratorTester {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private static void checkIndex(ListIterator<?> iterator, int current) {
|
|
private static void checkIndex(ListIterator<?> iterator, int current) {
|
|
|
|
|
+// System.err.printf(" - [%d] %d -> %d%n", current, iterator.previousIndex(), iterator.nextIndex());
|
|
|
assertEquals(current, iterator.nextIndex());
|
|
assertEquals(current, iterator.nextIndex());
|
|
|
assertEquals(current-1, iterator.previousIndex());
|
|
assertEquals(current-1, iterator.previousIndex());
|
|
|
}
|
|
}
|