|
|
@@ -313,5 +313,38 @@ public class IteratorUtilsTest {
|
|
|
assertEquals(5, IteratorUtils.next(i, 8));
|
|
|
assertFalse(i.hasNext());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testBuffered() {
|
|
|
+ List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9,10);
|
|
|
+
|
|
|
+
|
|
|
+ ListIterator<Integer> iterator = IteratorUtils.buffered(list.iterator(),3);
|
|
|
+
|
|
|
+ List<Integer> target = new ArrayList<>();
|
|
|
+
|
|
|
+ for(int i=0; i<5; i++) {
|
|
|
+ target.add(iterator.next());
|
|
|
+ }
|
|
|
+ target.add(100);
|
|
|
+ target.add(iterator.previous());
|
|
|
+ target.add(iterator.next());
|
|
|
+ target.add(200);
|
|
|
+
|
|
|
+ for(int i=0; i<5; i++) {
|
|
|
+ target.add(iterator.next());
|
|
|
+ }
|
|
|
+
|
|
|
+ target.add(300);
|
|
|
+ while(iterator.hasPrevious()) {
|
|
|
+ target.add(iterator.previous());
|
|
|
+ }
|
|
|
+
|
|
|
+ target.add(400);
|
|
|
+ while(iterator.hasNext()) {
|
|
|
+ target.add(iterator.next());
|
|
|
+ }
|
|
|
+
|
|
|
+ assertEquals(Arrays.asList(1, 2, 3, 4, 5, 100, 5, 5, 200, 6, 7, 8, 9, 10, 300, 10, 9, 8, 400, 8, 9, 10), target);
|
|
|
+ }
|
|
|
}
|