This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git

commit 7ab92fa0c5ed356b4f395320724c096a063425b4
Author: Gary D. Gregory <[email protected]>
AuthorDate: Wed Aug 20 06:51:33 2025 -0400

    Sort members
---
 .../collections4/iterators/IteratorChainTest.java  | 132 ++++++++++-----------
 1 file changed, 66 insertions(+), 66 deletions(-)

diff --git 
a/src/test/java/org/apache/commons/collections4/iterators/IteratorChainTest.java
 
b/src/test/java/org/apache/commons/collections4/iterators/IteratorChainTest.java
index 8d642e774..4ada92c66 100644
--- 
a/src/test/java/org/apache/commons/collections4/iterators/IteratorChainTest.java
+++ 
b/src/test/java/org/apache/commons/collections4/iterators/IteratorChainTest.java
@@ -150,6 +150,51 @@ public class IteratorChainTest extends 
AbstractIteratorTest<String> {
             });
     }
 
+    @Test
+    public void testChainOfChains() {
+        final Iterator<String> iteratorChain1 = new 
IteratorChain<>(list1.iterator(), list2.iterator());
+        final Iterator<String> iteratorChain2 = new 
IteratorChain<>(list3.iterator(), list4.iterator());
+        final Iterator<String> iteratorChainOfChains = new 
IteratorChain<>(iteratorChain1, iteratorChain2);
+
+        for (final String testValue : testArray1234) {
+            final String iterValue = (String) iteratorChainOfChains.next();
+            assertEquals(testValue, iterValue, "Iteration value is correct");
+        }
+
+        assertFalse(iteratorChainOfChains.hasNext(), "Iterator should now be 
empty");
+        assertThrows(NoSuchElementException.class, 
iteratorChainOfChains::next, "NoSuchElementException must be thrown");
+    }
+
+    @Test
+    public void testChainOfUnmodifiableChains() {
+        final Iterator<String> iteratorChain1 = new 
IteratorChain<>(list1.iterator(), list2.iterator());
+        final Iterator<String> unmodifiableChain1 = 
IteratorUtils.unmodifiableIterator(iteratorChain1);
+        final Iterator<String> iteratorChain2 = new 
IteratorChain<>(list3.iterator(), list4.iterator());
+        final Iterator<String> unmodifiableChain2 = 
IteratorUtils.unmodifiableIterator(iteratorChain2);
+        final Iterator<String> iteratorChainOfChains = new 
IteratorChain<>(unmodifiableChain1, unmodifiableChain2);
+
+        for (final String testValue : testArray1234) {
+            final String iterValue = (String) iteratorChainOfChains.next();
+            assertEquals(testValue, iterValue, "Iteration value is correct");
+        }
+
+        assertFalse(iteratorChainOfChains.hasNext(), "Iterator should now be 
empty");
+        assertThrows(NoSuchElementException.class, 
iteratorChainOfChains::next, "NoSuchElementException must be thrown");
+    }
+
+    @Test
+    public void 
testChainOfUnmodifiableChainsRetainsUnmodifiableBehaviourOfNestedIterator() {
+        final Iterator<String> iteratorChain1 = new 
IteratorChain<>(list1.iterator(), list2.iterator());
+        final Iterator<String> unmodifiableChain1 = 
IteratorUtils.unmodifiableIterator(iteratorChain1);
+        final Iterator<String> iteratorChain2 = new 
IteratorChain<>(list3.iterator(), list4.iterator());
+        final Iterator<String> unmodifiableChain2 = 
IteratorUtils.unmodifiableIterator(iteratorChain2);
+        final Iterator<String> iteratorChainOfChains = new 
IteratorChain<>(unmodifiableChain1, unmodifiableChain2);
+
+        iteratorChainOfChains.next();
+        assertThrows(UnsupportedOperationException.class, 
iteratorChainOfChains::remove,
+                     "Calling remove must fail when nested iterator is 
unmodifiable");
+    }
+
     @Test
     void testConstructList() {
         final List<Iterator<String>> list = new ArrayList<>();
@@ -226,6 +271,27 @@ public class IteratorChainTest extends 
AbstractIteratorTest<String> {
         assertThrows(NoSuchElementException.class, iter::next);
     }
 
+    @Test
+    public void testMultipleChainedIteratorPerformWellCollections722() {
+        final Map<Integer, List<Integer>> source = new HashMap<>();
+        for (int i = 0; i < 50; i++) {
+            source.put(i, Arrays.asList(1, 2, 3));
+        }
+
+        Iterator<Integer> iterator = IteratorUtils.emptyIterator();
+        final Set<Entry<Integer, List<Integer>>> entries = source.entrySet();
+        for (final Entry<Integer, List<Integer>> entry : entries) {
+            final Iterator<Integer> next = entry.getValue().iterator();
+            iterator = IteratorUtils.chainedIterator(iterator, next);
+        }
+        final Iterator<Integer> lastIterator = iterator;
+        assertTimeoutPreemptively(Duration.ofSeconds(2), () -> {
+                      while (lastIterator.hasNext()) {
+                          lastIterator.next().toString();
+                      }
+            });
+    }
+
     @Test
     @Override
     public void testRemove() {
@@ -278,70 +344,4 @@ public class IteratorChainTest extends 
AbstractIteratorTest<String> {
         assertEquals(0, list1.size());
         assertEquals(1, list2.size());
     }
-
-    @Test
-    public void testChainOfChains() {
-        final Iterator<String> iteratorChain1 = new 
IteratorChain<>(list1.iterator(), list2.iterator());
-        final Iterator<String> iteratorChain2 = new 
IteratorChain<>(list3.iterator(), list4.iterator());
-        final Iterator<String> iteratorChainOfChains = new 
IteratorChain<>(iteratorChain1, iteratorChain2);
-
-        for (final String testValue : testArray1234) {
-            final String iterValue = (String) iteratorChainOfChains.next();
-            assertEquals(testValue, iterValue, "Iteration value is correct");
-        }
-
-        assertFalse(iteratorChainOfChains.hasNext(), "Iterator should now be 
empty");
-        assertThrows(NoSuchElementException.class, 
iteratorChainOfChains::next, "NoSuchElementException must be thrown");
-    }
-
-    @Test
-    public void testChainOfUnmodifiableChains() {
-        final Iterator<String> iteratorChain1 = new 
IteratorChain<>(list1.iterator(), list2.iterator());
-        final Iterator<String> unmodifiableChain1 = 
IteratorUtils.unmodifiableIterator(iteratorChain1);
-        final Iterator<String> iteratorChain2 = new 
IteratorChain<>(list3.iterator(), list4.iterator());
-        final Iterator<String> unmodifiableChain2 = 
IteratorUtils.unmodifiableIterator(iteratorChain2);
-        final Iterator<String> iteratorChainOfChains = new 
IteratorChain<>(unmodifiableChain1, unmodifiableChain2);
-
-        for (final String testValue : testArray1234) {
-            final String iterValue = (String) iteratorChainOfChains.next();
-            assertEquals(testValue, iterValue, "Iteration value is correct");
-        }
-
-        assertFalse(iteratorChainOfChains.hasNext(), "Iterator should now be 
empty");
-        assertThrows(NoSuchElementException.class, 
iteratorChainOfChains::next, "NoSuchElementException must be thrown");
-    }
-
-    @Test
-    public void 
testChainOfUnmodifiableChainsRetainsUnmodifiableBehaviourOfNestedIterator() {
-        final Iterator<String> iteratorChain1 = new 
IteratorChain<>(list1.iterator(), list2.iterator());
-        final Iterator<String> unmodifiableChain1 = 
IteratorUtils.unmodifiableIterator(iteratorChain1);
-        final Iterator<String> iteratorChain2 = new 
IteratorChain<>(list3.iterator(), list4.iterator());
-        final Iterator<String> unmodifiableChain2 = 
IteratorUtils.unmodifiableIterator(iteratorChain2);
-        final Iterator<String> iteratorChainOfChains = new 
IteratorChain<>(unmodifiableChain1, unmodifiableChain2);
-
-        iteratorChainOfChains.next();
-        assertThrows(UnsupportedOperationException.class, 
iteratorChainOfChains::remove,
-                     "Calling remove must fail when nested iterator is 
unmodifiable");
-    }
-
-    @Test
-    public void testMultipleChainedIteratorPerformWellCollections722() {
-        final Map<Integer, List<Integer>> source = new HashMap<>();
-        for (int i = 0; i < 50; i++) {
-            source.put(i, Arrays.asList(1, 2, 3));
-        }
-
-        Iterator<Integer> iterator = IteratorUtils.emptyIterator();
-        final Set<Entry<Integer, List<Integer>>> entries = source.entrySet();
-        for (final Entry<Integer, List<Integer>> entry : entries) {
-            final Iterator<Integer> next = entry.getValue().iterator();
-            iterator = IteratorUtils.chainedIterator(iterator, next);
-        }
-        final Iterator<Integer> lastIterator = iterator;
-        assertTimeoutPreemptively(Duration.ofSeconds(2), () -> {
-                      while (lastIterator.hasNext()) {
-                          lastIterator.next().toString();
-                      }
-            });
-    }
 }

Reply via email to