From f238d0514f659dba652502892ff89ff7cc42f800 Mon Sep 17 00:00:00 2001
From: zab <zab@mail.i2p>
Date: Fri, 23 Nov 2012 07:13:21 +0000
Subject: [PATCH] test removal

---
 .../i2p/util/CachedIteratorArrayListTest.java | 20 ++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/core/java/test/junit/net/i2p/util/CachedIteratorArrayListTest.java b/core/java/test/junit/net/i2p/util/CachedIteratorArrayListTest.java
index 3d6a1ce16b..3d0fe85fd1 100644
--- a/core/java/test/junit/net/i2p/util/CachedIteratorArrayListTest.java
+++ b/core/java/test/junit/net/i2p/util/CachedIteratorArrayListTest.java
@@ -11,6 +11,7 @@ import org.junit.Test;
 public class CachedIteratorArrayListTest {
 
     private List<Character> l;
+    private Iterator<Character> iter; 
     
     @Before
     public void setUp() {
@@ -18,6 +19,7 @@ public class CachedIteratorArrayListTest {
         l.add('a');
         l.add('b');
         l.add('c');
+        iter = l.iterator();
     }
     
     /** test iterations work */
@@ -35,7 +37,7 @@ public class CachedIteratorArrayListTest {
         
         // and one partial
         total = "";
-        Iterator<Character> iter = l.iterator();
+        iter = l.iterator();
         total += iter.next();
         total += iter.next();
         iter = l.iterator();
@@ -49,5 +51,21 @@ public class CachedIteratorArrayListTest {
         Iterator<Character> one = l.iterator();
         assertSame(one, two);
     }
+    
+    @Test
+    public void testRemove() {
+        iter.next();
+        iter.remove();
 
+        // test proper removal
+        assertEquals(2,l.size());
+        assertEquals('b',l.get(0).charValue());
+        assertEquals('c',l.get(1).charValue());
+        
+        // test iterator still workx after removal
+        assertTrue(iter.hasNext());
+        assertEquals('b',iter.next().charValue());
+        assertEquals('c',iter.next().charValue());
+        assertFalse(iter.hasNext());
+    }
 }
-- 
GitLab