diff -u -r1.1 TestSequencedHashMap.java
--- src/test/org/apache/commons/collections/TestSequencedHashMap.java   2001/09/
17 16:43:49     1.1
+++ src/test/org/apache/commons/collections/TestSequencedHashMap.java   2001/11/
13 05:29:40
@@ -107,6 +107,42 @@
         return new Object[] { "bar", "frob", new Object() };
     }

+    public void testKeySetIteratorRemove() {
+        Object[] keys = getKeys();
+        Object[] values = getValues();
+        for(int i = 0; i < keys.length; i++) {
+            labRat.put(keys[i], values[i]);
+        }
+
+        for(int i = keys.length - 1; i >= 0; i--) {
+            // go to last key in the key set view of the map
+            Iterator iter = labRat.keySet().iterator();
+            while(iter.hasNext()) {
+                iter.next();
+            }
+
+            // and remove it
+            iter.remove();
+
+            assertEquals("size() does not match expected size after " +
+                         "remove using key set iterator",
+                         i, labRat.size());
+
+            // make sure that iterator() has the correct number of entries in
+            // it as well.
+            int count = 0;
+            iter = labRat.iterator();
+            while(iter.hasNext()) {
+                iter.next();
+                count++;
+            }
+
+            assertEquals("iterator() does not have the same number of " +
+                         "values as the map",
+                         labRat.size(), count);
+        }
+    }
+
     public void testSequenceMap() throws Throwable {
         Object[] keys = getKeys();
         int expectedSize = keys.length;