Author: almaw
Date: Tue Mar 27 07:28:49 2007
New Revision: 522930

URL: http://svn.apache.org/viewvc?view=rev&rev=522930
Log:
More fixes off the back of WICKET-428, this time for MicroMap.

Added:
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MicroMapTest.java
   (with props)
Modified:
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/collections/MicroMap.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MiniMapTest.java

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/collections/MicroMap.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/collections/MicroMap.java?view=diff&rev=522930&r1=522929&r2=522930
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/collections/MicroMap.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/wicket/util/collections/MicroMap.java
 Tue Mar 27 07:28:49 2007
@@ -22,6 +22,7 @@
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.NoSuchElementException;
 import java.util.Set;
 
 /**
@@ -211,6 +212,10 @@
 
                                        public Object next()
                                        {
+                                               if (!hasNext())
+                                               {
+                                                       throw new 
NoSuchElementException();
+                                               }
                                                index++;
 
                                                return key;
@@ -241,6 +246,9 @@
                {
                        public Object get(final int index)
                        {
+                               if (index > size() - 1) {
+                                       throw new IndexOutOfBoundsException();
+                               }
                                return value;
                        }
 
@@ -269,6 +277,10 @@
 
                                        public Object next()
                                        {
+                                               if (!hasNext())
+                                               {
+                                                       throw new 
NoSuchElementException();
+                                               }
                                                index++;
 
                                                return new Map.Entry()

Added: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MicroMapTest.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MicroMapTest.java?view=auto&rev=522930
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MicroMapTest.java
 (added)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MicroMapTest.java
 Tue Mar 27 07:28:49 2007
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package wicket.util.collections;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+/**
+ * @author almaw
+ */
+public class MicroMapTest extends TestCase
+{
+       private static final Object FOO = new Object();
+       private static final Object BAR = new Object();
+
+       /**
+        * Basic test for keySet(), entrySet() and values().
+        */
+       public void testMicroMap()
+       {
+               MicroMap m = new MicroMap();
+               m.put(FOO, BAR);
+
+               // Test .keySet();
+               Set s = m.keySet();
+               assertEquals(1, m.size());
+
+               Iterator i = s.iterator();
+               assertTrue(i.hasNext());
+               Object key = i.next();
+               assertEquals(FOO, key);
+               assertFalse(i.hasNext());
+               try
+               {
+                       i.next();
+                       fail("Expected i.next() to fail with 
NoSuchElementException");
+               }
+               catch (NoSuchElementException e)
+               {
+                       // Swallow this.
+               }
+
+               // Do approx the same again with the .entrySet()
+               s = m.entrySet();
+               assertEquals(1, m.size());
+
+               i = s.iterator();
+               assertTrue(i.hasNext());
+               Map.Entry entry = (Map.Entry)i.next();
+               assertEquals(FOO, entry.getKey());
+               assertEquals(BAR, entry.getValue());
+               assertFalse(i.hasNext());
+               try
+               {
+                       i.next();
+                       fail("Expected i.next() to fail with 
NoSuchElementException");
+               }
+               catch (NoSuchElementException e)
+               {
+                       // Swallow this.
+               }
+
+               // Do approx the same again with the .values()
+               Collection v = m.values();
+               assertEquals(1, m.size());
+
+               i = v.iterator();
+               assertTrue(i.hasNext());
+               Object value = i.next();
+               assertEquals(BAR, value);
+               assertFalse(i.hasNext());
+               try
+               {
+                       i.next();
+                       fail("Expected i.next() to fail with 
NoSuchElementException");
+               }
+               catch (NoSuchElementException e)
+               {
+                       // Swallow this.
+               }
+       }
+}

Propchange: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MicroMapTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MiniMapTest.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MiniMapTest.java?view=diff&rev=522930&r1=522929&r2=522930
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MiniMapTest.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/wicket/util/collections/MiniMapTest.java
 Tue Mar 27 07:28:49 2007
@@ -90,11 +90,7 @@
                assertFalse(i.hasNext());
                try
                {
-                       Object wibble = i.next();
-                       wibble = i.next();
-                       wibble = i.next();
-                       wibble = i.next();
-                       wibble = i.next();
+                       i.next();
                        fail("Expected i.next() to fail with 
NoSuchElementException");
                }
                catch (NoSuchElementException e)


Reply via email to