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


The following commit(s) were added to refs/heads/master by this push:
     new 99f65a305 Fix generics in IteratorChain.IteratorChain(Collection)
99f65a305 is described below

commit 99f65a305ef29c0af24d8c67e013d3612f3f4877
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Oct 19 10:13:42 2024 -0400

    Fix generics in IteratorChain.IteratorChain(Collection)
---
 src/changes/changes.xml                                   |  1 +
 .../commons/collections4/iterators/IteratorChain.java     |  2 +-
 .../commons/collections4/iterators/IteratorChainTest.java | 15 +++++++++++++++
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index dff6b1825..8c18f9fa3 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -38,6 +38,7 @@
     <action type="fix" dev="ggregory" due-to="Gary Gregory, Alex 
Herbert">BloomFilterExtractor.flatten() should throw an exception instead of 
returning null.</action>
     <action type="fix" dev="ggregory" due-to="Gary Gregory, Claude 
Warren">Improve WrappedBloomFilterTest. All tests now assert copy() the same 
way.</action>
     <action type="fix" dev="ggregory" due-to="Gary Gregory,  Daniele" 
issue="COLLECTIONS-860">Javadoc CollectionBag.add* to throw 
ClassCastException.</action>
+    <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix generics in 
IteratorChain.IteratorChain(Collection).</action>
     <!-- ADD -->
     <action type="add" dev="ggregory" due-to="Gary 
Gregory">LayerManager.Builder implements Supplier.</action>
     <action type="add" dev="ggregory" due-to="Gary Gregory, hemanth0525">Add 
CollectionUtils.duplicateList(Collection).</action>
diff --git 
a/src/main/java/org/apache/commons/collections4/iterators/IteratorChain.java 
b/src/main/java/org/apache/commons/collections4/iterators/IteratorChain.java
index fe1ab2cea..bf4661c9c 100644
--- a/src/main/java/org/apache/commons/collections4/iterators/IteratorChain.java
+++ b/src/main/java/org/apache/commons/collections4/iterators/IteratorChain.java
@@ -97,7 +97,7 @@ public class IteratorChain<E> implements Iterator<E> {
      * @throws ClassCastException if iterators collection doesn't contain an
      * iterator
      */
-    public IteratorChain(final Collection<Iterator<? extends E>> 
iteratorChain) {
+    public IteratorChain(final Collection<? extends Iterator<? extends E>> 
iteratorChain) {
         for (final Iterator<? extends E> iterator : iteratorChain) {
             addIterator(iterator);
         }
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 0654fec36..022caf71b 100644
--- 
a/src/test/java/org/apache/commons/collections4/iterators/IteratorChainTest.java
+++ 
b/src/test/java/org/apache/commons/collections4/iterators/IteratorChainTest.java
@@ -137,6 +137,21 @@ public class IteratorChainTest extends 
AbstractIteratorTest<String> {
         }
     }
 
+    @Test
+    public void testConstructList() {
+        final List<Iterator<String>> list = new ArrayList<>();
+        list.add(list1.iterator());
+        list.add(list2.iterator());
+        list.add(list3.iterator());
+        final List<String> expected = new ArrayList<>(list1);
+        expected.addAll(list2);
+        expected.addAll(list3);
+        final IteratorChain<String> iter = new IteratorChain<>(list);
+        final List<String> actual = new ArrayList<>();
+        iter.forEachRemaining(actual::add);
+        assertEquals(actual, expected);
+    }
+
     @Test
     @Override
     public void testRemove() {

Reply via email to