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>

Reply via email to