rwaldhoff 2002/10/31 13:55:23
Modified: collections/src/java/org/apache/commons/collections/iterators
IteratorChain.java
collections/src/test/org/apache/commons/collections/iterators
TestIteratorChain.java
Log:
fix bug pointed out bu Jonathan Carlson
add test that demonstrates
Revision Changes Path
1.3 +4 -5
jakarta-commons/collections/src/java/org/apache/commons/collections/iterators/IteratorChain.java
Index: IteratorChain.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/iterators/IteratorChain.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- IteratorChain.java 17 Aug 2002 11:28:36 -0000 1.2
+++ IteratorChain.java 31 Oct 2002 21:55:23 -0000 1.3
@@ -268,7 +268,6 @@
// set last used iterator here, in case the user calls remove
// before calling hasNext() or next() (although they shouldn't)
lastUsedIterator = currentIterator;
- return;
}
if (currentIteratorIndex == (iteratorChain.size() - 1)) {
1.3 +21 -4
jakarta-commons/collections/src/test/org/apache/commons/collections/iterators/TestIteratorChain.java
Index: TestIteratorChain.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/iterators/TestIteratorChain.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TestIteratorChain.java 12 Oct 2002 22:36:23 -0000 1.2
+++ TestIteratorChain.java 31 Oct 2002 21:55:23 -0000 1.3
@@ -177,5 +177,22 @@
assertTrue("List is empty",list3.size() == 0);
}
+ public void testFirstIteratorIsEmptyBug() {
+ List empty = new ArrayList();
+ List notEmpty = new ArrayList();
+ notEmpty.add("A");
+ notEmpty.add("B");
+ notEmpty.add("C");
+ IteratorChain chain = new IteratorChain();
+ chain.addIterator(empty.iterator());
+ chain.addIterator(notEmpty.iterator());
+ assertTrue("should have next",chain.hasNext());
+ assertEquals("A",chain.next());
+ assertTrue("should have next",chain.hasNext());
+ assertEquals("B",chain.next());
+ assertTrue("should have next",chain.hasNext());
+ assertEquals("C",chain.next());
+ assertTrue("should not have next",!chain.hasNext());
+ }
}
--
To unsubscribe, e-mail: <mailto:commons-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>