http://git-wip-us.apache.org/repos/asf/commons-collections/blob/884baf0d/src/test/org/apache/commons/collections/map/TestLazyMap.java ---------------------------------------------------------------------- diff --git a/src/test/org/apache/commons/collections/map/TestLazyMap.java b/src/test/org/apache/commons/collections/map/TestLazyMap.java index ae3cb4f..d3394fb 100644 --- a/src/test/org/apache/commons/collections/map/TestLazyMap.java +++ b/src/test/org/apache/commons/collections/map/TestLazyMap.java @@ -5,9 +5,9 @@ * 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. @@ -27,38 +27,38 @@ import org.apache.commons.collections.Transformer; import org.junit.Test; /** - * Extension of {@link TestMap} for exercising the + * Extension of {@link TestMap} for exercising the * {@link LazyMap} implementation. * * @since Commons Collections 3.0 * @version $Revision$ $Date$ - * + * * @author Phil Steitz */ -public class TestLazyMap extends AbstractTestMap { - +public class TestLazyMap<K, V> extends AbstractTestMap<K, V> { + private static final Factory<Integer> oneFactory = FactoryUtils.constantFactory(1); - + public TestLazyMap(String testName) { super(testName); } - + public static void main(String args[]) { String[] testCaseName = { TestLazyMap.class.getName()}; junit.textui.TestRunner.main(testCaseName); } @Override - public <K,V> Map<K,V> makeEmptyMap() { + public LazyMap<K,V> makeObject() { return getLazyMap(new HashMap<K,V>(), FactoryUtils.<V>nullFactory()); } - + //----------------------------------------------------------------------- @Override public void testMapGet() { //TODO eliminate need for this via superclass - see svn history. } - + @Test public void mapGetWithFactory() { Map<Integer, Number> map = getLazyMap(new HashMap<Integer,Number>(), oneFactory); @@ -70,13 +70,13 @@ public class TestLazyMap extends AbstractTestMap { assertEquals(1, i2); assertEquals(1, map.size()); assertSame(i1, i2); - + map = getLazyMap(new HashMap<Integer,Number>(), FactoryUtils.<Long>nullFactory()); Object o = map.get("Five"); assertEquals(null,o); assertEquals(1, map.size()); } - + @Test public void mapGetWithTransformer() { Transformer<Number, Integer> intConverter = new Transformer<Number, Integer>(){ @@ -90,8 +90,8 @@ public class TestLazyMap extends AbstractTestMap { assertEquals(123, i1); assertEquals(1, map.size()); } - - + + @Override public String getCompatibilityVersion() { return "3.1";
http://git-wip-us.apache.org/repos/asf/commons-collections/blob/884baf0d/src/test/org/apache/commons/collections/map/TestLazySortedMap.java ---------------------------------------------------------------------- diff --git a/src/test/org/apache/commons/collections/map/TestLazySortedMap.java b/src/test/org/apache/commons/collections/map/TestLazySortedMap.java index 2c56c46..c4841c4 100644 --- a/src/test/org/apache/commons/collections/map/TestLazySortedMap.java +++ b/src/test/org/apache/commons/collections/map/TestLazySortedMap.java @@ -38,7 +38,7 @@ import org.junit.Test; * * @author Phil Steitz */ -public class TestLazySortedMap extends AbstractTestSortedMap { +public class TestLazySortedMap<K, V> extends AbstractTestSortedMap<K, V> { private static final Factory<Integer> oneFactory = FactoryUtils.constantFactory(1); @@ -52,14 +52,10 @@ public class TestLazySortedMap extends AbstractTestSortedMap { } @Override - public <K,V> Map<K,V> makeEmptyMap() { + public SortedMap<K,V> makeObject() { return getLazySortedMap(new TreeMap<K,V>(), FactoryUtils.<V>nullFactory()); } - private <K,V> SortedMap<K,V> makeTestSortedMap(Factory<V> factory) { - return getLazySortedMap(new TreeMap<K,V>(), factory); - } - @Override public boolean isSubMapViewsSerializable() { // TODO TreeMap sub map views have a bug in deserialization. http://git-wip-us.apache.org/repos/asf/commons-collections/blob/884baf0d/src/test/org/apache/commons/collections/map/TestLinkedMap.java ---------------------------------------------------------------------- diff --git a/src/test/org/apache/commons/collections/map/TestLinkedMap.java b/src/test/org/apache/commons/collections/map/TestLinkedMap.java index 326ce33..a298612 100644 --- a/src/test/org/apache/commons/collections/map/TestLinkedMap.java +++ b/src/test/org/apache/commons/collections/map/TestLinkedMap.java @@ -5,9 +5,9 @@ * 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. @@ -32,12 +32,12 @@ import org.apache.commons.collections.list.AbstractTestList; /** * JUnit tests. - * + * * @version $Revision$ $Date$ - * + * * @author Stephen Colebourne */ -public class TestLinkedMap extends AbstractTestOrderedMap { +public class TestLinkedMap<K, V> extends AbstractTestOrderedMap<K, V> { public TestLinkedMap(String testName) { super(testName); @@ -46,127 +46,137 @@ public class TestLinkedMap extends AbstractTestOrderedMap { public static void main(String[] args) { TestRunner.run(suite()); } - + public static Test suite() { return BulkTest.makeSuite(TestLinkedMap.class); } - public Map makeEmptyMap() { - return new LinkedMap(); + public LinkedMap<K, V> makeObject() { + return new LinkedMap<K, V>(); + } + + /** + * {@inheritDoc} + */ + @Override + public LinkedMap<K, V> makeFullMap() { + return (LinkedMap<K, V>) super.makeFullMap(); } public String getCompatibilityVersion() { return "3"; } - //----------------------------------------------------------------------- + //----------------------------------------------------------------------- + @SuppressWarnings("unchecked") public void testReset() { resetEmpty(); - OrderedMap ordered = (OrderedMap) map; - ((ResettableIterator) ordered.mapIterator()).reset(); - + OrderedMap<K, V> ordered = getMap(); + ((ResettableIterator<K>) ordered.mapIterator()).reset(); + resetFull(); - ordered = (OrderedMap) map; - List list = new ArrayList(ordered.keySet()); - ResettableIterator it = (ResettableIterator) ordered.mapIterator(); + ordered = getMap(); + List<K> list = new ArrayList<K>(ordered.keySet()); + ResettableIterator<K> it = (ResettableIterator<K>) ordered.mapIterator(); assertSame(list.get(0), it.next()); assertSame(list.get(1), it.next()); it.reset(); assertSame(list.get(0), it.next()); } - + //----------------------------------------------------------------------- public void testInsertionOrder() { if (isPutAddSupported() == false || isPutChangeSupported() == false) return; - Object[] keys = getSampleKeys(); - Object[] values = getSampleValues(); - Iterator it = null; - + K[] keys = getSampleKeys(); + V[] values = getSampleValues(); + Iterator<K> keyIter; + Iterator<V> valueIter; + resetEmpty(); map.put(keys[0], values[0]); map.put(keys[1], values[1]); - it = map.keySet().iterator(); - assertSame(keys[0], it.next()); - assertSame(keys[1], it.next()); - it = map.values().iterator(); - assertSame(values[0], it.next()); - assertSame(values[1], it.next()); + keyIter = map.keySet().iterator(); + assertSame(keys[0], keyIter.next()); + assertSame(keys[1], keyIter.next()); + valueIter = map.values().iterator(); + assertSame(values[0], valueIter.next()); + assertSame(values[1], valueIter.next()); // no change to order map.put(keys[1], values[1]); - it = map.keySet().iterator(); - assertSame(keys[0], it.next()); - assertSame(keys[1], it.next()); - it = map.values().iterator(); - assertSame(values[0], it.next()); - assertSame(values[1], it.next()); + keyIter = map.keySet().iterator(); + assertSame(keys[0], keyIter.next()); + assertSame(keys[1], keyIter.next()); + valueIter = map.values().iterator(); + assertSame(values[0], valueIter.next()); + assertSame(values[1], valueIter.next()); // no change to order map.put(keys[1], values[2]); - it = map.keySet().iterator(); - assertSame(keys[0], it.next()); - assertSame(keys[1], it.next()); - it = map.values().iterator(); - assertSame(values[0], it.next()); - assertSame(values[2], it.next()); + keyIter = map.keySet().iterator(); + assertSame(keys[0], keyIter.next()); + assertSame(keys[1], keyIter.next()); + valueIter = map.values().iterator(); + assertSame(values[0], valueIter.next()); + assertSame(values[2], valueIter.next()); // no change to order map.put(keys[0], values[3]); - it = map.keySet().iterator(); - assertSame(keys[0], it.next()); - assertSame(keys[1], it.next()); - it = map.values().iterator(); - assertSame(values[3], it.next()); - assertSame(values[2], it.next()); + keyIter = map.keySet().iterator(); + assertSame(keys[0], keyIter.next()); + assertSame(keys[1], keyIter.next()); + valueIter = map.values().iterator(); + assertSame(values[3], valueIter.next()); + assertSame(values[2], valueIter.next()); } - + //----------------------------------------------------------------------- public void testGetByIndex() { resetEmpty(); - LinkedMap lm = (LinkedMap) map; + LinkedMap<K, V> lm = getMap(); try { lm.get(0); } catch (IndexOutOfBoundsException ex) {} try { lm.get(-1); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lm = (LinkedMap) map; + lm = getMap(); try { lm.get(-1); } catch (IndexOutOfBoundsException ex) {} try { lm.get(lm.size()); } catch (IndexOutOfBoundsException ex) {} - + int i = 0; - for (MapIterator it = lm.mapIterator(); it.hasNext(); i++) { + for (MapIterator<K, V> it = lm.mapIterator(); it.hasNext(); i++) { assertSame(it.next(), lm.get(i)); } } public void testGetValueByIndex() { resetEmpty(); - LinkedMap lm = (LinkedMap) map; + LinkedMap<K, V> lm = getMap(); try { lm.getValue(0); } catch (IndexOutOfBoundsException ex) {} try { lm.getValue(-1); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lm = (LinkedMap) map; + lm = getMap(); try { lm.getValue(-1); } catch (IndexOutOfBoundsException ex) {} try { lm.getValue(lm.size()); } catch (IndexOutOfBoundsException ex) {} - + int i = 0; - for (MapIterator it = lm.mapIterator(); it.hasNext(); i++) { + for (MapIterator<K, V> it = lm.mapIterator(); it.hasNext(); i++) { it.next(); assertSame(it.getValue(), lm.getValue(i)); } @@ -174,13 +184,13 @@ public class TestLinkedMap extends AbstractTestOrderedMap { public void testIndexOf() { resetEmpty(); - LinkedMap lm = (LinkedMap) map; + LinkedMap<K, V> lm = getMap(); assertEquals(-1, lm.indexOf(getOtherKeys())); - + resetFull(); - lm = (LinkedMap) map; - List list = new ArrayList(); - for (MapIterator it = lm.mapIterator(); it.hasNext();) { + lm = getMap(); + List<K> list = new ArrayList<K>(); + for (MapIterator<K, V> it = lm.mapIterator(); it.hasNext();) { list.add(it.next()); } for (int i = 0; i < list.size(); i++) { @@ -190,25 +200,25 @@ public class TestLinkedMap extends AbstractTestOrderedMap { public void testRemoveByIndex() { resetEmpty(); - LinkedMap lm = (LinkedMap) map; + LinkedMap<K, V> lm = getMap(); try { lm.remove(0); } catch (IndexOutOfBoundsException ex) {} try { lm.remove(-1); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lm = (LinkedMap) map; + lm = getMap(); try { lm.remove(-1); } catch (IndexOutOfBoundsException ex) {} try { lm.remove(lm.size()); } catch (IndexOutOfBoundsException ex) {} - - List list = new ArrayList(); - for (MapIterator it = lm.mapIterator(); it.hasNext();) { + + List<K> list = new ArrayList<K>(); + for (MapIterator<K, V> it = lm.mapIterator(); it.hasNext();) { list.add(it.next()); } for (int i = 0; i < list.size(); i++) { @@ -219,26 +229,26 @@ public class TestLinkedMap extends AbstractTestOrderedMap { assertEquals(false, lm.containsKey(key)); } } - + public BulkTest bulkTestListView() { return new TestListView(); } - - public class TestListView extends AbstractTestList { - + + public class TestListView extends AbstractTestList<K> { + TestListView() { super("TestListView"); } - public List makeEmptyList() { - return ((LinkedMap) TestLinkedMap.this.makeEmptyMap()).asList(); + public List<K> makeObject() { + return TestLinkedMap.this.makeObject().asList(); } - - public List makeFullList() { - return ((LinkedMap) TestLinkedMap.this.makeFullMap()).asList(); + + public List<K> makeFullCollection() { + return TestLinkedMap.this.makeFullMap().asList(); } - - public Object[] getFullElements() { + + public K[] getFullElements() { return TestLinkedMap.this.getSampleKeys(); } public boolean isAddSupported() { @@ -258,18 +268,27 @@ public class TestLinkedMap extends AbstractTestOrderedMap { } } + @SuppressWarnings("unchecked") public void testClone() { - LinkedMap map = new LinkedMap(10); - map.put("1", "1"); - Map cloned = (Map) map.clone(); + LinkedMap<K, V> map = new LinkedMap<K, V>(10); + map.put((K) "1", (V) "1"); + Map<K, V> cloned = map.clone(); assertEquals(map.size(), cloned.size()); assertSame(map.get("1"), cloned.get("1")); } - + // public void testCreate() throws Exception { // resetEmpty(); // writeExternalFormToDisk((java.io.Serializable) map, "D:/dev/collections/data/test/LinkedMap.emptyCollection.version3.obj"); // resetFull(); // writeExternalFormToDisk((java.io.Serializable) map, "D:/dev/collections/data/test/LinkedMap.fullCollection.version3.obj"); // } + + /** + * {@inheritDoc} + */ + @Override + public LinkedMap<K, V> getMap() { + return (LinkedMap<K, V>) super.getMap(); + } } http://git-wip-us.apache.org/repos/asf/commons-collections/blob/884baf0d/src/test/org/apache/commons/collections/map/TestListOrderedMap.java ---------------------------------------------------------------------- diff --git a/src/test/org/apache/commons/collections/map/TestListOrderedMap.java b/src/test/org/apache/commons/collections/map/TestListOrderedMap.java index 2d4c3ab..7187d77 100644 --- a/src/test/org/apache/commons/collections/map/TestListOrderedMap.java +++ b/src/test/org/apache/commons/collections/map/TestListOrderedMap.java @@ -5,9 +5,9 @@ * 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. @@ -19,7 +19,6 @@ package org.apache.commons.collections.map; import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import java.util.Map; import junit.framework.Test; @@ -33,12 +32,12 @@ import org.apache.commons.collections.list.AbstractTestList; * * @since Commons Collections 3.0 * @version $Revision$ $Date$ - * + * * @author Henri Yandell * @author Stephen Colebourne * @author Matt Benson */ -public class TestListOrderedMap extends AbstractTestOrderedMap { +public class TestListOrderedMap<K, V> extends AbstractTestOrderedMap<K, V> { public TestListOrderedMap(String testName) { super(testName); @@ -53,57 +52,65 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { junit.textui.TestRunner.main(testCaseName); } - public Map makeEmptyMap() { - return ListOrderedMap.decorate(new HashMap()); + public ListOrderedMap<K, V> makeObject() { + return (ListOrderedMap<K, V>) ListOrderedMap.decorate(new HashMap<K, V>()); + } + + /** + * {@inheritDoc} + */ + @Override + public ListOrderedMap<K, V> makeFullMap() { + return (ListOrderedMap<K, V>) super.makeFullMap(); } - + //----------------------------------------------------------------------- public void testGetByIndex() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); try { lom.get(0); } catch (IndexOutOfBoundsException ex) {} try { lom.get(-1); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lom = (ListOrderedMap) map; + lom = getMap(); try { lom.get(-1); } catch (IndexOutOfBoundsException ex) {} try { lom.get(lom.size()); } catch (IndexOutOfBoundsException ex) {} - + int i = 0; - for (MapIterator it = lom.mapIterator(); it.hasNext(); i++) { + for (MapIterator<K, V> it = lom.mapIterator(); it.hasNext(); i++) { assertSame(it.next(), lom.get(i)); } } public void testGetValueByIndex() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); try { lom.getValue(0); } catch (IndexOutOfBoundsException ex) {} try { lom.getValue(-1); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lom = (ListOrderedMap) map; + lom = getMap(); try { lom.getValue(-1); } catch (IndexOutOfBoundsException ex) {} try { lom.getValue(lom.size()); } catch (IndexOutOfBoundsException ex) {} - + int i = 0; - for (MapIterator it = lom.mapIterator(); it.hasNext(); i++) { + for (MapIterator<K, V> it = lom.mapIterator(); it.hasNext(); i++) { it.next(); assertSame(it.getValue(), lom.getValue(i)); } @@ -111,13 +118,13 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { public void testIndexOf() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); assertEquals(-1, lom.indexOf(getOtherKeys())); - + resetFull(); - lom = (ListOrderedMap) map; - List list = new ArrayList(); - for (MapIterator it = lom.mapIterator(); it.hasNext();) { + lom = getMap(); + List<K> list = new ArrayList<K>(); + for (MapIterator<K, V> it = lom.mapIterator(); it.hasNext();) { list.add(it.next()); } for (int i = 0; i < list.size(); i++) { @@ -125,54 +132,55 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { } } + @SuppressWarnings("unchecked") public void testSetValueByIndex() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); try { - lom.setValue(0, ""); + lom.setValue(0, (V) ""); } catch (IndexOutOfBoundsException ex) {} try { - lom.setValue(-1, ""); + lom.setValue(-1, (V) ""); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lom = (ListOrderedMap) map; + lom = getMap(); try { - lom.setValue(-1, ""); + lom.setValue(-1, (V) ""); } catch (IndexOutOfBoundsException ex) {} try { - lom.setValue(lom.size(), ""); + lom.setValue(lom.size(), (V) ""); } catch (IndexOutOfBoundsException ex) {} - + for (int i = 0; i < lom.size(); i++) { - Object value = lom.getValue(i); + V value = lom.getValue(i); Object input = new Integer(i); - assertEquals(value, lom.setValue(i, input)); + assertEquals(value, lom.setValue(i, (V) input)); assertEquals(input, lom.getValue(i)); } } public void testRemoveByIndex() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); try { lom.remove(0); } catch (IndexOutOfBoundsException ex) {} try { lom.remove(-1); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lom = (ListOrderedMap) map; + lom = getMap(); try { lom.remove(-1); } catch (IndexOutOfBoundsException ex) {} try { lom.remove(lom.size()); } catch (IndexOutOfBoundsException ex) {} - - List list = new ArrayList(); - for (MapIterator it = lom.mapIterator(); it.hasNext();) { + + List<K> list = new ArrayList<K>(); + for (MapIterator<K, V> it = lom.mapIterator(); it.hasNext();) { list.add(it.next()); } for (int i = 0; i < list.size(); i++) { @@ -184,74 +192,75 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { } } + @SuppressWarnings("unchecked") public void testPut_intObjectObject() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; - + ListOrderedMap<K, V> lom = getMap(); + try { - lom.put(1, "testInsert1", "testInsert1v"); + lom.put(1, (K) "testInsert1", (V) "testInsert1v"); fail("should not be able to insert at pos 1 in empty Map"); } catch (IndexOutOfBoundsException ex) {} try { - lom.put(-1, "testInsert-1", "testInsert-1v"); + lom.put(-1, (K) "testInsert-1", (V) "testInsert-1v"); fail("should not be able to insert at pos -1 in empty Map"); } catch (IndexOutOfBoundsException ex) {} - + // put where key doesn't exist - lom.put(0, "testInsert1", "testInsert1v"); + lom.put(0, (K) "testInsert1", (V) "testInsert1v"); assertEquals("testInsert1v", lom.getValue(0)); - - lom.put("testInsertPut", "testInsertPutv"); + + lom.put((K) "testInsertPut", (V) "testInsertPutv"); assertEquals("testInsert1v", lom.getValue(0)); assertEquals("testInsertPutv", lom.getValue(1)); - - lom.put(0, "testInsert0", "testInsert0v"); + + lom.put(0, (K) "testInsert0", (V) "testInsert0v"); assertEquals("testInsert0v", lom.getValue(0)); assertEquals("testInsert1v", lom.getValue(1)); assertEquals("testInsertPutv", lom.getValue(2)); - - lom.put(3, "testInsert3", "testInsert3v"); + + lom.put(3, (K) "testInsert3", (V) "testInsert3v"); assertEquals("testInsert0v", lom.getValue(0)); assertEquals("testInsert1v", lom.getValue(1)); assertEquals("testInsertPutv", lom.getValue(2)); assertEquals("testInsert3v", lom.getValue(3)); - - // put in a full map + + // put in a full map resetFull(); - lom = (ListOrderedMap) map; - ListOrderedMap lom2 = new ListOrderedMap(); + lom = getMap(); + ListOrderedMap<K, V> lom2 = new ListOrderedMap<K, V>(); lom2.putAll(lom); - - lom2.put(0, "testInsert0", "testInsert0v"); + + lom2.put(0, (K) "testInsert0", (V) "testInsert0v"); assertEquals("testInsert0v", lom2.getValue(0)); for (int i = 0; i < lom.size(); i++) { assertEquals(lom2.getValue(i + 1), lom.getValue(i)); } - + // put where key does exist Integer i1 = new Integer(1); Integer i1b = new Integer(1); Integer i2 = new Integer(2); Integer i3 = new Integer(3); - + resetEmpty(); - lom = (ListOrderedMap) map; - lom.put(i1, "1"); - lom.put(i2, "2"); - lom.put(i3, "3"); - lom.put(0, i1, "One"); + lom = getMap(); + lom.put((K) i1, (V) "1"); + lom.put((K) i2, (V) "2"); + lom.put((K) i3, (V) "3"); + lom.put(0, (K) i1, (V) "One"); assertEquals(3, lom.size()); assertEquals(3, lom.map.size()); assertEquals(3, lom.insertOrder.size()); assertEquals("One", lom.getValue(0)); assertSame(i1, lom.get(0)); - + resetEmpty(); - lom = (ListOrderedMap) map; - lom.put(i1, "1"); - lom.put(i2, "2"); - lom.put(i3, "3"); - lom.put(0, i1b, "One"); + lom = getMap(); + lom.put((K) i1, (V) "1"); + lom.put((K) i2, (V) "2"); + lom.put((K) i3, (V) "3"); + lom.put(0, (K) i1b, (V) "One"); assertEquals(3, lom.size()); assertEquals(3, lom.map.size()); assertEquals(3, lom.insertOrder.size()); @@ -259,39 +268,39 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { assertEquals("2", lom.getValue(1)); assertEquals("3", lom.getValue(2)); assertSame(i1b, lom.get(0)); - + resetEmpty(); - lom = (ListOrderedMap) map; - lom.put(i1, "1"); - lom.put(i2, "2"); - lom.put(i3, "3"); - lom.put(1, i1b, "One"); + lom = getMap(); + lom.put((K) i1, (V) "1"); + lom.put((K) i2, (V) "2"); + lom.put((K) i3, (V) "3"); + lom.put(1, (K) i1b, (V) "One"); assertEquals(3, lom.size()); assertEquals(3, lom.map.size()); assertEquals(3, lom.insertOrder.size()); assertEquals("One", lom.getValue(0)); assertEquals("2", lom.getValue(1)); assertEquals("3", lom.getValue(2)); - + resetEmpty(); - lom = (ListOrderedMap) map; - lom.put(i1, "1"); - lom.put(i2, "2"); - lom.put(i3, "3"); - lom.put(2, i1b, "One"); + lom = getMap(); + lom.put((K) i1, (V) "1"); + lom.put((K) i2, (V) "2"); + lom.put((K) i3, (V) "3"); + lom.put(2, (K) i1b, (V) "One"); assertEquals(3, lom.size()); assertEquals(3, lom.map.size()); assertEquals(3, lom.insertOrder.size()); assertEquals("2", lom.getValue(0)); assertEquals("One", lom.getValue(1)); assertEquals("3", lom.getValue(2)); - + resetEmpty(); - lom = (ListOrderedMap) map; - lom.put(i1, "1"); - lom.put(i2, "2"); - lom.put(i3, "3"); - lom.put(3, i1b, "One"); + lom = getMap(); + lom.put((K) i1, (V) "1"); + lom.put((K) i2, (V) "2"); + lom.put((K) i3, (V) "3"); + lom.put(3, (K) i1b, (V) "One"); assertEquals(3, lom.size()); assertEquals(3, lom.map.size()); assertEquals(3, lom.insertOrder.size()); @@ -303,20 +312,21 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { //----------------------------------------------------------------------- public void testValueList_getByIndex() { resetFull(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); for (int i = 0; i < lom.size(); i++) { - Object expected = lom.getValue(i); + V expected = lom.getValue(i); assertEquals(expected, lom.valueList().get(i)); } } + @SuppressWarnings("unchecked") public void testValueList_setByIndex() { resetFull(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); for (int i = 0; i < lom.size(); i++) { Object input = new Integer(i); - Object expected = lom.getValue(i); - assertEquals(expected, lom.valueList().set(i, input)); + V expected = lom.getValue(i); + assertEquals(expected, lom.valueList().set(i, (V) input)); assertEquals(input, lom.getValue(i)); assertEquals(input, lom.valueList().get(i)); } @@ -324,9 +334,9 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { public void testValueList_removeByIndex() { resetFull(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); while (lom.size() > 1) { - Object expected = lom.getValue(1); + V expected = lom.getValue(1); assertEquals(expected, lom.valueList().remove(1)); } } @@ -341,19 +351,19 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { } //----------------------------------------------------------------------- - public class TestKeyListView extends AbstractTestList { + public class TestKeyListView extends AbstractTestList<K> { TestKeyListView() { super("TestKeyListView"); } - public List makeEmptyList() { - return ((ListOrderedMap) TestListOrderedMap.this.makeEmptyMap()).keyList(); + public List<K> makeObject() { + return TestListOrderedMap.this.makeObject().keyList(); } - public List makeFullList() { - return ((ListOrderedMap) TestListOrderedMap.this.makeFullMap()).keyList(); + public List<K> makeFullCollection() { + return TestListOrderedMap.this.makeFullMap().keyList(); } - public Object[] getFullElements() { + public K[] getFullElements() { return TestListOrderedMap.this.getSampleKeys(); } public boolean isAddSupported() { @@ -374,19 +384,19 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { } //----------------------------------------------------------------------- - public class TestValueListView extends AbstractTestList { + public class TestValueListView extends AbstractTestList<V> { TestValueListView() { super("TestValueListView"); } - public List makeEmptyList() { - return ((ListOrderedMap) TestListOrderedMap.this.makeEmptyMap()).valueList(); + public List<V> makeObject() { + return TestListOrderedMap.this.makeObject().valueList(); } - public List makeFullList() { - return ((ListOrderedMap) TestListOrderedMap.this.makeFullMap()).valueList(); + public List<V> makeFullCollection() { + return TestListOrderedMap.this.makeFullMap().valueList(); } - public Object[] getFullElements() { + public V[] getFullElements() { return TestListOrderedMap.this.getSampleValues(); } public boolean isAddSupported() { @@ -421,4 +431,12 @@ public class TestListOrderedMap extends AbstractTestOrderedMap { // (java.io.Serializable) map, // "D:/dev/collections/data/test/ListOrderedMap.fullCollection.version3.1.obj"); // } + + /** + * {@inheritDoc} + */ + @Override + public ListOrderedMap<K, V> getMap() { + return (ListOrderedMap<K, V>) super.getMap(); + } } http://git-wip-us.apache.org/repos/asf/commons-collections/blob/884baf0d/src/test/org/apache/commons/collections/map/TestListOrderedMap2.java ---------------------------------------------------------------------- diff --git a/src/test/org/apache/commons/collections/map/TestListOrderedMap2.java b/src/test/org/apache/commons/collections/map/TestListOrderedMap2.java index c7e0bb6..a45fa76 100644 --- a/src/test/org/apache/commons/collections/map/TestListOrderedMap2.java +++ b/src/test/org/apache/commons/collections/map/TestListOrderedMap2.java @@ -5,9 +5,9 @@ * 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. @@ -18,7 +18,6 @@ package org.apache.commons.collections.map; import java.util.ArrayList; import java.util.List; -import java.util.Map; import junit.framework.Test; @@ -32,11 +31,11 @@ import org.apache.commons.collections.list.AbstractTestList; * * @since Commons Collections 3.1 * @version $Revision$ $Date$ - * + * * @author Henri Yandell * @author Stephen Colebourne */ -public class TestListOrderedMap2 extends AbstractTestOrderedMap { +public class TestListOrderedMap2<K, V> extends AbstractTestOrderedMap<K, V> { public TestListOrderedMap2(String testName) { super(testName); @@ -51,57 +50,65 @@ public class TestListOrderedMap2 extends AbstractTestOrderedMap { junit.textui.TestRunner.main(testCaseName); } - public Map makeEmptyMap() { - return new ListOrderedMap(); + public ListOrderedMap<K, V> makeObject() { + return new ListOrderedMap<K, V>(); + } + + /** + * {@inheritDoc} + */ + @Override + public ListOrderedMap<K, V> makeFullMap() { + return (ListOrderedMap<K, V>) super.makeFullMap(); } - + //----------------------------------------------------------------------- public void testGetByIndex() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); try { lom.get(0); } catch (IndexOutOfBoundsException ex) {} try { lom.get(-1); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lom = (ListOrderedMap) map; + lom = getMap(); try { lom.get(-1); } catch (IndexOutOfBoundsException ex) {} try { lom.get(lom.size()); } catch (IndexOutOfBoundsException ex) {} - + int i = 0; - for (MapIterator it = lom.mapIterator(); it.hasNext(); i++) { + for (MapIterator<K, V> it = lom.mapIterator(); it.hasNext(); i++) { assertSame(it.next(), lom.get(i)); } } public void testGetValueByIndex() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); try { lom.getValue(0); } catch (IndexOutOfBoundsException ex) {} try { lom.getValue(-1); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lom = (ListOrderedMap) map; + lom = getMap(); try { lom.getValue(-1); } catch (IndexOutOfBoundsException ex) {} try { lom.getValue(lom.size()); } catch (IndexOutOfBoundsException ex) {} - + int i = 0; - for (MapIterator it = lom.mapIterator(); it.hasNext(); i++) { + for (MapIterator<K, V> it = lom.mapIterator(); it.hasNext(); i++) { it.next(); assertSame(it.getValue(), lom.getValue(i)); } @@ -109,13 +116,13 @@ public class TestListOrderedMap2 extends AbstractTestOrderedMap { public void testIndexOf() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); assertEquals(-1, lom.indexOf(getOtherKeys())); - + resetFull(); - lom = (ListOrderedMap) map; - List list = new ArrayList(); - for (MapIterator it = lom.mapIterator(); it.hasNext();) { + lom = getMap(); + List<K> list = new ArrayList<K>(); + for (MapIterator<K, V> it = lom.mapIterator(); it.hasNext();) { list.add(it.next()); } for (int i = 0; i < list.size(); i++) { @@ -125,25 +132,25 @@ public class TestListOrderedMap2 extends AbstractTestOrderedMap { public void testRemoveByIndex() { resetEmpty(); - ListOrderedMap lom = (ListOrderedMap) map; + ListOrderedMap<K, V> lom = getMap(); try { lom.remove(0); } catch (IndexOutOfBoundsException ex) {} try { lom.remove(-1); } catch (IndexOutOfBoundsException ex) {} - + resetFull(); - lom = (ListOrderedMap) map; + lom = getMap(); try { lom.remove(-1); } catch (IndexOutOfBoundsException ex) {} try { lom.remove(lom.size()); } catch (IndexOutOfBoundsException ex) {} - - List list = new ArrayList(); - for (MapIterator it = lom.mapIterator(); it.hasNext();) { + + List<K> list = new ArrayList<K>(); + for (MapIterator<K, V> it = lom.mapIterator(); it.hasNext();) { list.add(it.next()); } for (int i = 0; i < list.size(); i++) { @@ -154,26 +161,26 @@ public class TestListOrderedMap2 extends AbstractTestOrderedMap { assertEquals(false, lom.containsKey(key)); } } - + public BulkTest bulkTestListView() { return new TestListView(); } - - public class TestListView extends AbstractTestList { - + + public class TestListView extends AbstractTestList<K> { + TestListView() { super("TestListView"); } - public List makeEmptyList() { - return ((ListOrderedMap) TestListOrderedMap2.this.makeEmptyMap()).asList(); + public List<K> makeObject() { + return TestListOrderedMap2.this.makeObject().asList(); } - - public List makeFullList() { - return ((ListOrderedMap) TestListOrderedMap2.this.makeFullMap()).asList(); + + public List<K> makeFullCollection() { + return TestListOrderedMap2.this.makeFullMap().asList(); } - - public Object[] getFullElements() { + + public K[] getFullElements() { return TestListOrderedMap2.this.getSampleKeys(); } public boolean isAddSupported() { @@ -207,4 +214,13 @@ public class TestListOrderedMap2 extends AbstractTestOrderedMap { // (java.io.Serializable) map, // "D:/dev/collections/data/test/ListOrderedMap.fullCollection.version3.1.obj"); // } + + /** + * {@inheritDoc} + */ + @Override + public ListOrderedMap<K, V> getMap() { + // TODO Auto-generated method stub + return (ListOrderedMap<K, V>) super.getMap(); + } } http://git-wip-us.apache.org/repos/asf/commons-collections/blob/884baf0d/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java ---------------------------------------------------------------------- diff --git a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java index 01747e3..b86db2c 100644 --- a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java +++ b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java @@ -5,9 +5,9 @@ * 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. @@ -27,13 +27,13 @@ import org.apache.commons.collections.keyvalue.MultiKey; /** * JUnit tests. - * + * * @version $Revision$ $Date$ - * + * * @author Stephen Colebourne */ -public class TestMultiKeyMap extends AbstractTestIterableMap { - +public class TestMultiKeyMap<K, V> extends AbstractTestIterableMap<MultiKey<? extends K>, V> { + static final Integer I1 = new Integer(1); static final Integer I2 = new Integer(2); static final Integer I3 = new Integer(3); @@ -55,15 +55,16 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { return BulkTest.makeSuite(TestMultiKeyMap.class); } - public Map makeEmptyMap() { - return new MultiKeyMap(); + public MultiKeyMap<K, V> makeObject() { + return new MultiKeyMap<K, V>(); } - public Object[] getSampleKeys() { + public MultiKey<K>[] getSampleKeys() { return getMultiKeyKeys(); } - private MultiKey[] getMultiKeyKeys() { + @SuppressWarnings("unchecked") + private MultiKey<K>[] getMultiKeyKeys() { return new MultiKey[] { new MultiKey(I1, I2), new MultiKey(I2, I3), @@ -80,8 +81,9 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { }; } - public Object[] getSampleValues() { - return new Object[] { + @SuppressWarnings("unchecked") + public V[] getSampleValues() { + return (V[]) new Object[] { "2A", "2B", "2C", "3D", "3E", "3F", "4G", "4H", "4I", @@ -89,8 +91,9 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { }; } - public Object[] getNewSampleValues() { - return new Object[] { + @SuppressWarnings("unchecked") + public V[] getNewSampleValues() { + return (V[]) new Object[] { "1a", "1b", "1c", "2d", "2e", "2f", "3g", "3h", "3i", @@ -98,20 +101,22 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { }; } - public Object[] getOtherKeys() { - return new Object[] { + @SuppressWarnings("unchecked") + public MultiKey<K>[] getOtherKeys() { + return (MultiKey<K>[]) new MultiKey[] { new MultiKey(I1, I7), new MultiKey(I1, I8), new MultiKey(I2, I4), new MultiKey(I2, I5), }; } - + public boolean isAllowNullKey() { return false; } //----------------------------------------------------------------------- + @SuppressWarnings("unchecked") public void testNullHandling() { resetFull(); assertEquals(null, map.get(null)); @@ -125,9 +130,9 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { map.put(null, null); fail(); } catch (NullPointerException ex) {} - assertEquals(null, map.put(new MultiKey(null, null), null)); + assertEquals(null, map.put(new MultiKey<K>(null, null), null)); try { - map.put(null, new Object()); + map.put(null, (V) new Object()); fail(); } catch (NullPointerException ex) {} } @@ -135,14 +140,14 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { //----------------------------------------------------------------------- public void testMultiKeyGet() { resetFull(); - MultiKeyMap multimap = (MultiKeyMap) map; - MultiKey[] keys = getMultiKeyKeys(); - Object[] values = getSampleValues(); - + MultiKeyMap<K, V> multimap = getMap(); + MultiKey<K>[] keys = getMultiKeyKeys(); + V[] values = getSampleValues(); + for (int i = 0; i < keys.length; i++) { - MultiKey key = keys[i]; - Object value = values[i]; - + MultiKey<K> key = keys[i]; + V value = values[i]; + switch (key.size()) { case 2: assertEquals(value, multimap.get(key.getKey(0), key.getKey(1))); @@ -185,17 +190,15 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { } } } - + public void testMultiKeyContainsKey() { resetFull(); - MultiKeyMap multimap = (MultiKeyMap) map; - MultiKey[] keys = getMultiKeyKeys(); - Object[] values = getSampleValues(); - + MultiKeyMap<K, V> multimap = getMap(); + MultiKey<K>[] keys = getMultiKeyKeys(); + for (int i = 0; i < keys.length; i++) { - MultiKey key = keys[i]; - Object value = values[i]; - + MultiKey<K> key = keys[i]; + switch (key.size()) { case 2: assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1))); @@ -238,24 +241,24 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { } } } - + public void testMultiKeyPut() { - MultiKey[] keys = getMultiKeyKeys(); - Object[] values = getSampleValues(); - + MultiKey<K>[] keys = getMultiKeyKeys(); + V[] values = getSampleValues(); + for (int i = 0; i < keys.length; i++) { - MultiKeyMap multimap = new MultiKeyMap(); - - MultiKey key = keys[i]; - Object value = values[i]; - + MultiKeyMap<K, V> multimap = new MultiKeyMap<K, V>(); + + MultiKey<K> key = keys[i]; + V value = values[i]; + switch (key.size()) { case 2: assertEquals(null, multimap.put(key.getKey(0), key.getKey(1), value)); assertEquals(1, multimap.size()); assertEquals(value, multimap.get(key.getKey(0), key.getKey(1))); assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1))); - assertEquals(true, multimap.containsKey(new MultiKey(key.getKey(0), key.getKey(1)))); + assertEquals(true, multimap.containsKey(new MultiKey<K>(key.getKey(0), key.getKey(1)))); assertEquals(value, multimap.put(key.getKey(0), key.getKey(1), null)); assertEquals(1, multimap.size()); assertEquals(null, multimap.get(key.getKey(0), key.getKey(1))); @@ -266,7 +269,7 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { assertEquals(1, multimap.size()); assertEquals(value, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2))); assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2))); - assertEquals(true, multimap.containsKey(new MultiKey(key.getKey(0), key.getKey(1), key.getKey(2)))); + assertEquals(true, multimap.containsKey(new MultiKey<K>(key.getKey(0), key.getKey(1), key.getKey(2)))); assertEquals(value, multimap.put(key.getKey(0), key.getKey(1), key.getKey(2), null)); assertEquals(1, multimap.size()); assertEquals(null, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2))); @@ -277,7 +280,7 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { assertEquals(1, multimap.size()); assertEquals(value, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); - assertEquals(true, multimap.containsKey(new MultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)))); + assertEquals(true, multimap.containsKey(new MultiKey<K>(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)))); assertEquals(value, multimap.put(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), null)); assertEquals(1, multimap.size()); assertEquals(null, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3))); @@ -288,7 +291,7 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { assertEquals(1, multimap.size()); assertEquals(value, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4))); assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4))); - assertEquals(true, multimap.containsKey(new MultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)))); + assertEquals(true, multimap.containsKey(new MultiKey<K>(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)))); assertEquals(value, multimap.put(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4), null)); assertEquals(1, multimap.size()); assertEquals(null, multimap.get(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4))); @@ -299,19 +302,19 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { } } } - + public void testMultiKeyRemove() { - MultiKey[] keys = getMultiKeyKeys(); - Object[] values = getSampleValues(); - + MultiKey<K>[] keys = getMultiKeyKeys(); + V[] values = getSampleValues(); + for (int i = 0; i < keys.length; i++) { resetFull(); - MultiKeyMap multimap = (MultiKeyMap) map; + MultiKeyMap<K, V> multimap = getMap(); int size = multimap.size(); - - MultiKey key = keys[i]; - Object value = values[i]; - + + MultiKey<K> key = keys[i]; + V value = values[i]; + switch (key.size()) { case 2: assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1))); @@ -350,86 +353,88 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { } } } - + public void testMultiKeyRemoveAll1() { resetFull(); - MultiKeyMap multimap = (MultiKeyMap) map; + MultiKeyMap<K, V> multimap = getMap(); assertEquals(12, multimap.size()); - + multimap.removeAll(I1); assertEquals(8, multimap.size()); - for (MapIterator it = multimap.mapIterator(); it.hasNext();) { - MultiKey key = (MultiKey) it.next(); + for (MapIterator<MultiKey<? extends K>, V> it = multimap.mapIterator(); it.hasNext();) { + MultiKey<? extends K> key = it.next(); assertEquals(false, I1.equals(key.getKey(0))); } } - + public void testMultiKeyRemoveAll2() { resetFull(); - MultiKeyMap multimap = (MultiKeyMap) map; + MultiKeyMap<K, V> multimap = getMap(); assertEquals(12, multimap.size()); - + multimap.removeAll(I2, I3); assertEquals(9, multimap.size()); - for (MapIterator it = multimap.mapIterator(); it.hasNext();) { - MultiKey key = (MultiKey) it.next(); + for (MapIterator<MultiKey<? extends K>, V> it = multimap.mapIterator(); it.hasNext();) { + MultiKey<? extends K> key = it.next(); assertEquals(false, I2.equals(key.getKey(0)) && I3.equals(key.getKey(1))); } } - + public void testMultiKeyRemoveAll3() { resetFull(); - MultiKeyMap multimap = (MultiKeyMap) map; + MultiKeyMap<K, V> multimap = getMap(); assertEquals(12, multimap.size()); - + multimap.removeAll(I1, I1, I2); assertEquals(9, multimap.size()); - for (MapIterator it = multimap.mapIterator(); it.hasNext();) { - MultiKey key = (MultiKey) it.next(); + for (MapIterator<MultiKey<? extends K>, V> it = multimap.mapIterator(); it.hasNext();) { + MultiKey<? extends K> key = it.next(); assertEquals(false, I1.equals(key.getKey(0)) && I1.equals(key.getKey(1)) && I2.equals(key.getKey(2))); } } - + public void testMultiKeyRemoveAll4() { resetFull(); - MultiKeyMap multimap = (MultiKeyMap) map; + MultiKeyMap<K, V> multimap = getMap(); assertEquals(12, multimap.size()); - + multimap.removeAll(I1, I1, I2, I3); assertEquals(10, multimap.size()); - for (MapIterator it = multimap.mapIterator(); it.hasNext();) { - MultiKey key = (MultiKey) it.next(); + for (MapIterator<MultiKey<? extends K>, V> it = multimap.mapIterator(); it.hasNext();) { + MultiKey<? extends K> key = it.next(); assertEquals(false, I1.equals(key.getKey(0)) && I1.equals(key.getKey(1)) && I2.equals(key.getKey(2)) && key.size() >= 4 && I3.equals(key.getKey(3))); } } - + //----------------------------------------------------------------------- + @SuppressWarnings("unchecked") public void testClone() { - MultiKeyMap map = new MultiKeyMap(); - map.put(new MultiKey(I1, I2), "1-2"); - Map cloned = (Map) map.clone(); + MultiKeyMap<K, V> map = new MultiKeyMap<K, V>(); + map.put(new MultiKey<K>((K) I1, (K) I2), (V) "1-2"); + Map<MultiKey<? extends K>, V> cloned = map.clone(); assertEquals(map.size(), cloned.size()); - assertSame(map.get(new MultiKey(I1, I2)), cloned.get(new MultiKey(I1, I2))); + assertSame(map.get(new MultiKey<K>((K) I1, (K) I2)), cloned.get(new MultiKey<K>((K) I1, (K) I2))); } //----------------------------------------------------------------------- + @SuppressWarnings("unchecked") public void testLRUMultiKeyMap() { - MultiKeyMap map = MultiKeyMap.decorate(new LRUMap(2)); - map.put(I1, I2, "1-2"); - map.put(I1, I3, "1-3"); + MultiKeyMap<K, V> map = MultiKeyMap.decorate(new LRUMap<MultiKey<? extends K>, V>(2)); + map.put((K) I1, (K) I2, (V) "1-2"); + map.put((K) I1, (K) I3, (V) "1-1"); assertEquals(2, map.size()); - map.put(I1, I4, "1-4"); + map.put((K) I1, (K) I4, (V) "1-4"); assertEquals(2, map.size()); assertEquals(true, map.containsKey(I1, I3)); assertEquals(true, map.containsKey(I1, I4)); assertEquals(false, map.containsKey(I1, I2)); - - MultiKeyMap cloned = (MultiKeyMap) map.clone(); + + MultiKeyMap<K, V> cloned = map.clone(); assertEquals(2, map.size()); assertEquals(true, cloned.containsKey(I1, I3)); assertEquals(true, cloned.containsKey(I1, I4)); assertEquals(false, cloned.containsKey(I1, I2)); - cloned.put(I1, I5, "1-5"); + cloned.put((K) I1, (K) I5, (V) "1-5"); assertEquals(2, cloned.size()); assertEquals(true, cloned.containsKey(I1, I4)); assertEquals(true, cloned.containsKey(I1, I5)); @@ -450,4 +455,12 @@ public class TestMultiKeyMap extends AbstractTestIterableMap { // (java.io.Serializable) map, // "D:/dev/collections/data/test/MultiKeyMap.fullCollection.version3.1.obj"); // } + + /** + * {@inheritDoc} + */ + @Override + public MultiKeyMap<K, V> getMap() { + return (MultiKeyMap<K, V>) super.getMap(); + } } http://git-wip-us.apache.org/repos/asf/commons-collections/blob/884baf0d/src/test/org/apache/commons/collections/map/TestMultiValueMap.java ---------------------------------------------------------------------- diff --git a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java index bd25c44..cf85ddf 100644 --- a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java +++ b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java @@ -5,9 +5,9 @@ * 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. @@ -39,7 +39,7 @@ import org.apache.commons.collections.MultiMap; * @author Stephen Colebourne * @since Commons Collections 3.2 */ -public class TestMultiValueMap extends TestCase { +public class TestMultiValueMap<K, V> extends TestCase { public TestMultiValueMap(String testName) { super(testName); @@ -55,25 +55,28 @@ public class TestMultiValueMap extends TestCase { } public void testNoMappingReturnsNull() { - final MultiValueMap map = createTestMap(); + final MultiValueMap<K, V> map = createTestMap(); assertNull(map.get("whatever")); } + @SuppressWarnings("unchecked") public void testValueCollectionType() { - final MultiValueMap map = createTestMap(LinkedList.class); + final MultiValueMap<K, V> map = createTestMap(LinkedList.class); assertTrue(map.get("one") instanceof LinkedList); } + @SuppressWarnings("unchecked") public void testMultipleValues() { - final MultiValueMap map = createTestMap(HashSet.class); - final HashSet expected = new HashSet(); - expected.add("uno"); - expected.add("un"); + final MultiValueMap<K, V> map = createTestMap(HashSet.class); + final HashSet<V> expected = new HashSet<V>(); + expected.add((V) "uno"); + expected.add((V) "un"); assertEquals(expected, map.get("one")); } + @SuppressWarnings("unchecked") public void testContainsValue() { - final MultiValueMap map = createTestMap(HashSet.class); + final MultiValueMap<K, V> map = createTestMap(HashSet.class); assertTrue(map.containsValue("uno")); assertTrue(map.containsValue("un")); assertTrue(map.containsValue("dos")); @@ -83,56 +86,60 @@ public class TestMultiValueMap extends TestCase { assertFalse(map.containsValue("quatro")); } + @SuppressWarnings("unchecked") public void testKeyContainsValue() { - final MultiValueMap map = createTestMap(HashSet.class); - assertTrue(map.containsValue("one", "uno")); - assertTrue(map.containsValue("one", "un")); - assertTrue(map.containsValue("two", "dos")); - assertTrue(map.containsValue("two", "deux")); - assertTrue(map.containsValue("three", "tres")); - assertTrue(map.containsValue("three", "trois")); - assertFalse(map.containsValue("four", "quatro")); + final MultiValueMap<K, V> map = createTestMap(HashSet.class); + assertTrue(map.containsValue((K) "one", "uno")); + assertTrue(map.containsValue((K) "one", "un")); + assertTrue(map.containsValue((K) "two", "dos")); + assertTrue(map.containsValue((K) "two", "deux")); + assertTrue(map.containsValue((K) "three", "tres")); + assertTrue(map.containsValue((K) "three", "trois")); + assertFalse(map.containsValue((K) "four", "quatro")); } + @SuppressWarnings("unchecked") public void testValues() { - final MultiValueMap map = createTestMap(HashSet.class); - final HashSet expected = new HashSet(); - expected.add("uno"); - expected.add("dos"); - expected.add("tres"); - expected.add("un"); - expected.add("deux"); - expected.add("trois"); - final Collection c = map.values(); + final MultiValueMap<K, V> map = createTestMap(HashSet.class); + final HashSet<V> expected = new HashSet<V>(); + expected.add((V) "uno"); + expected.add((V) "dos"); + expected.add((V) "tres"); + expected.add((V) "un"); + expected.add((V) "deux"); + expected.add((V) "trois"); + final Collection<Object> c = map.values(); assertEquals(6, c.size()); - assertEquals(expected, new HashSet(c)); + assertEquals(expected, new HashSet<Object>(c)); } - private MultiValueMap createTestMap() { + @SuppressWarnings("unchecked") + private MultiValueMap<K, V> createTestMap() { return createTestMap(ArrayList.class); } - private MultiValueMap createTestMap(Class collectionClass) { - final MultiValueMap map = MultiValueMap.decorate(new HashMap(), collectionClass); - map.put("one", "uno"); - map.put("one", "un"); - map.put("two", "dos"); - map.put("two", "deux"); - map.put("three", "tres"); - map.put("three", "trois"); + @SuppressWarnings("unchecked") + private <C extends Collection<V>> MultiValueMap<K, V> createTestMap(Class<C> collectionClass) { + final MultiValueMap<K, V> map = MultiValueMap.decorate(new HashMap<K, C>(), collectionClass); + map.put((K) "one", (V) "uno"); + map.put((K) "one", (V) "un"); + map.put((K) "two", (V) "dos"); + map.put((K) "two", (V) "deux"); + map.put((K) "three", (V) "tres"); + map.put((K) "three", (V) "trois"); return map; } public void testKeyedIterator() { - final MultiValueMap map = createTestMap(); - final ArrayList actual = new ArrayList(IteratorUtils.toList(map.iterator("one"))); - final ArrayList expected = new ArrayList(Arrays.asList(new String[]{"uno", "un"})); + final MultiValueMap<K, V> map = createTestMap(); + final ArrayList<Object> actual = new ArrayList<Object>(IteratorUtils.toList(map.iterator("one"))); + final ArrayList<Object> expected = new ArrayList<Object>(Arrays.asList(new String[]{ "uno", "un" })); assertEquals(expected, actual); } public void testRemoveAllViaIterator() { - final MultiValueMap map = createTestMap(); - for(Iterator i = map.values().iterator(); i.hasNext();) { + final MultiValueMap<K, V> map = createTestMap(); + for (Iterator<?> i = map.values().iterator(); i.hasNext();) { i.next(); i.remove(); } @@ -141,8 +148,8 @@ public class TestMultiValueMap extends TestCase { } public void testRemoveAllViaKeyedIterator() { - final MultiValueMap map = createTestMap(); - for(Iterator i = map.iterator("one"); i.hasNext();) { + final MultiValueMap<K, V> map = createTestMap(); + for (Iterator<?> i = map.iterator("one"); i.hasNext();) { i.next(); i.remove(); } @@ -155,71 +162,76 @@ public class TestMultiValueMap extends TestCase { } //----------------------------------------------------------------------- + @SuppressWarnings("unchecked") public void testMapEquals() { - MultiValueMap one = new MultiValueMap(); + MultiValueMap<K, V> one = new MultiValueMap<K, V>(); Integer value = new Integer(1); - one.put("One", value); + one.put((K) "One", value); one.remove("One", value); - - MultiValueMap two = new MultiValueMap(); + + MultiValueMap<K, V> two = new MultiValueMap<K, V>(); assertEquals(two, one); } //----------------------------------------------------------------------- + @SuppressWarnings("unchecked") public void testGetCollection() { - MultiValueMap map = new MultiValueMap(); - map.put("A", "AA"); + MultiValueMap<K, V> map = new MultiValueMap<K, V>(); + map.put((K) "A", "AA"); assertSame(map.get("A"), map.getCollection("A")); } - + + @SuppressWarnings("unchecked") public void testTotalSize() { - MultiValueMap map = new MultiValueMap(); + MultiValueMap<K, V> map = new MultiValueMap<K, V>(); assertEquals(0, map.totalSize()); - map.put("A", "AA"); + map.put((K) "A", "AA"); assertEquals(1, map.totalSize()); - map.put("B", "BA"); + map.put((K) "B", "BA"); assertEquals(2, map.totalSize()); - map.put("B", "BB"); + map.put((K) "B", "BB"); assertEquals(3, map.totalSize()); - map.put("B", "BC"); + map.put((K) "B", "BC"); assertEquals(4, map.totalSize()); map.remove("A"); assertEquals(3, map.totalSize()); map.remove("B", "BC"); assertEquals(2, map.totalSize()); } - + + @SuppressWarnings("unchecked") public void testSize() { - MultiValueMap map = new MultiValueMap(); + MultiValueMap<K, V> map = new MultiValueMap<K, V>(); assertEquals(0, map.size()); - map.put("A", "AA"); + map.put((K) "A", "AA"); assertEquals(1, map.size()); - map.put("B", "BA"); + map.put((K) "B", "BA"); assertEquals(2, map.size()); - map.put("B", "BB"); + map.put((K) "B", "BB"); assertEquals(2, map.size()); - map.put("B", "BC"); + map.put((K) "B", "BC"); assertEquals(2, map.size()); map.remove("A"); assertEquals(1, map.size()); map.remove("B", "BC"); assertEquals(1, map.size()); } - + + @SuppressWarnings("unchecked") public void testSize_Key() { - MultiValueMap map = new MultiValueMap(); + MultiValueMap<K, V> map = new MultiValueMap<K, V>(); assertEquals(0, map.size("A")); assertEquals(0, map.size("B")); - map.put("A", "AA"); + map.put((K) "A", "AA"); assertEquals(1, map.size("A")); assertEquals(0, map.size("B")); - map.put("B", "BA"); + map.put((K) "B", "BA"); assertEquals(1, map.size("A")); assertEquals(1, map.size("B")); - map.put("B", "BB"); + map.put((K) "B", "BB"); assertEquals(1, map.size("A")); assertEquals(2, map.size("B")); - map.put("B", "BC"); + map.put((K) "B", "BC"); assertEquals(1, map.size("A")); assertEquals(3, map.size("B")); map.remove("A"); @@ -229,53 +241,58 @@ public class TestMultiValueMap extends TestCase { assertEquals(0, map.size("A")); assertEquals(2, map.size("B")); } - + + @SuppressWarnings("unchecked") public void testIterator_Key() { - MultiValueMap map = new MultiValueMap(); + MultiValueMap<K, V> map = new MultiValueMap<K, V>(); assertEquals(false, map.iterator("A").hasNext()); - map.put("A", "AA"); - Iterator it = map.iterator("A"); + map.put((K) "A", "AA"); + Iterator<?> it = map.iterator("A"); assertEquals(true, it.hasNext()); it.next(); assertEquals(false, it.hasNext()); } - + + @SuppressWarnings("unchecked") public void testContainsValue_Key() { - MultiValueMap map = new MultiValueMap(); + MultiValueMap<K, V> map = new MultiValueMap<K, V>(); assertEquals(false, map.containsValue("A", "AA")); assertEquals(false, map.containsValue("B", "BB")); - map.put("A", "AA"); + map.put((K) "A", "AA"); assertEquals(true, map.containsValue("A", "AA")); assertEquals(false, map.containsValue("A", "AB")); } + @SuppressWarnings("unchecked") public void testPutWithList() { - MultiValueMap test = MultiValueMap.decorate(new HashMap(), ArrayList.class); - assertEquals("a", test.put("A", "a")); - assertEquals("b", test.put("A", "b")); + MultiValueMap<K, V> test = MultiValueMap.decorate(new HashMap<K, Collection>(), ArrayList.class); + assertEquals("a", test.put((K) "A", "a")); + assertEquals("b", test.put((K) "A", "b")); assertEquals(1, test.size()); assertEquals(2, test.size("A")); assertEquals(2, test.totalSize()); } + @SuppressWarnings("unchecked") public void testPutWithSet() { - MultiValueMap test = MultiValueMap.decorate(new HashMap(), HashSet.class); - assertEquals("a", test.put("A", "a")); - assertEquals("b", test.put("A", "b")); - assertEquals(null, test.put("A", "a")); + MultiValueMap<K, V> test = MultiValueMap.decorate(new HashMap<K, HashSet>(), HashSet.class); + assertEquals("a", test.put((K) "A", "a")); + assertEquals("b", test.put((K) "A", "b")); + assertEquals(null, test.put((K) "A", "a")); assertEquals(1, test.size()); assertEquals(2, test.size("A")); assertEquals(2, test.totalSize()); } + @SuppressWarnings("unchecked") public void testPutAll_Map1() { - MultiMap original = new MultiValueMap(); - original.put("key", "object1"); - original.put("key", "object2"); + MultiMap<K, V> original = new MultiValueMap<K, V>(); + original.put((K) "key", "object1"); + original.put((K) "key", "object2"); - MultiValueMap test = new MultiValueMap(); - test.put("keyA", "objectA"); - test.put("key", "object0"); + MultiValueMap<K, V> test = new MultiValueMap<K, V>(); + test.put((K) "keyA", "objectA"); + test.put((K) "key", "object0"); test.putAll(original); assertEquals(2, test.size()); @@ -288,14 +305,15 @@ public class TestMultiValueMap extends TestCase { assertEquals(true, test.containsValue("object2")); } + @SuppressWarnings("unchecked") public void testPutAll_Map2() { - Map original = new HashMap(); - original.put("keyX", "object1"); - original.put("keyY", "object2"); + Map<K, V> original = new HashMap<K, V>(); + original.put((K) "keyX", (V) "object1"); + original.put((K) "keyY", (V) "object2"); - MultiValueMap test = new MultiValueMap(); - test.put("keyA", "objectA"); - test.put("keyX", "object0"); + MultiValueMap<K, V> test = new MultiValueMap<K, V>(); + test.put((K) "keyA", "objectA"); + test.put((K) "keyX", "object0"); test.putAll(original); assertEquals(3, test.size()); @@ -309,30 +327,31 @@ public class TestMultiValueMap extends TestCase { assertEquals(true, test.containsValue("object2")); } + @SuppressWarnings("unchecked") public void testPutAll_KeyCollection() { - MultiValueMap map = new MultiValueMap(); - Collection coll = Arrays.asList(new Object[] {"X", "Y", "Z"}); - - assertEquals(true, map.putAll("A", coll)); + MultiValueMap<K, V> map = new MultiValueMap<K, V>(); + Collection<V> coll = (Collection<V>) Arrays.asList(new Object[] { "X", "Y", "Z" }); + + assertEquals(true, map.putAll((K) "A", coll)); assertEquals(3, map.size("A")); assertEquals(true, map.containsValue("A", "X")); assertEquals(true, map.containsValue("A", "Y")); assertEquals(true, map.containsValue("A", "Z")); - - assertEquals(false, map.putAll("A", null)); + + assertEquals(false, map.putAll((K) "A", null)); assertEquals(3, map.size("A")); assertEquals(true, map.containsValue("A", "X")); assertEquals(true, map.containsValue("A", "Y")); assertEquals(true, map.containsValue("A", "Z")); - - assertEquals(false, map.putAll("A", new ArrayList())); + + assertEquals(false, map.putAll((K) "A", new ArrayList<V>())); assertEquals(3, map.size("A")); assertEquals(true, map.containsValue("A", "X")); assertEquals(true, map.containsValue("A", "Y")); assertEquals(true, map.containsValue("A", "Z")); - - coll = Arrays.asList(new Object[] {"M"}); - assertEquals(true, map.putAll("A", coll)); + + coll = (Collection<V>) Arrays.asList(new Object[] { "M" }); + assertEquals(true, map.putAll((K) "A", coll)); assertEquals(4, map.size("A")); assertEquals(true, map.containsValue("A", "X")); assertEquals(true, map.containsValue("A", "Y")); @@ -340,17 +359,18 @@ public class TestMultiValueMap extends TestCase { assertEquals(true, map.containsValue("A", "M")); } + @SuppressWarnings("unchecked") public void testRemove_KeyItem() { - MultiValueMap map = new MultiValueMap(); - map.put("A", "AA"); - map.put("A", "AB"); - map.put("A", "AC"); + MultiValueMap<K, V> map = new MultiValueMap<K, V>(); + map.put((K) "A", "AA"); + map.put((K) "A", "AB"); + map.put((K) "A", "AC"); assertEquals(null, map.remove("C", "CA")); assertEquals(null, map.remove("A", "AD")); assertEquals("AC", map.remove("A", "AC")); assertEquals("AB", map.remove("A", "AB")); assertEquals("AA", map.remove("A", "AA")); - assertEquals(new MultiValueMap(), map); + assertEquals(new MultiValueMap<K, V>(), map); } } http://git-wip-us.apache.org/repos/asf/commons-collections/blob/884baf0d/src/test/org/apache/commons/collections/map/TestPredicatedMap.java ---------------------------------------------------------------------- diff --git a/src/test/org/apache/commons/collections/map/TestPredicatedMap.java b/src/test/org/apache/commons/collections/map/TestPredicatedMap.java index 6956aca..9edb140 100644 --- a/src/test/org/apache/commons/collections/map/TestPredicatedMap.java +++ b/src/test/org/apache/commons/collections/map/TestPredicatedMap.java @@ -5,9 +5,9 @@ * 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. @@ -24,77 +24,79 @@ import junit.framework.Test; import junit.framework.TestSuite; import org.apache.commons.collections.Predicate; -import org.apache.commons.collections.PredicateUtils; +import org.apache.commons.collections.functors.TruePredicate; /** - * Extension of {@link TestMap} for exercising the + * Extension of {@link TestMap} for exercising the * {@link PredicatedMap} implementation. * * @since Commons Collections 3.0 * @version $Revision$ $Date$ - * + * * @author Phil Steitz */ -public class TestPredicatedMap extends AbstractTestMap{ - - protected static final Predicate truePredicate = PredicateUtils.truePredicate(); - protected static final Predicate testPredicate = new Predicate() { +public class TestPredicatedMap<K, V> extends AbstractTestMap<K, V> { + + protected static final Predicate<Object> truePredicate = TruePredicate.<Object>truePredicate(); + + protected static final Predicate<Object> testPredicate = new Predicate<Object>() { public boolean evaluate(Object o) { return (o instanceof String); } }; - - + public TestPredicatedMap(String testName) { super(testName); } - + public static Test suite() { return new TestSuite(TestPredicatedMap.class); } - + public static void main(String args[]) { String[] testCaseName = { TestPredicatedMap.class.getName()}; junit.textui.TestRunner.main(testCaseName); } //----------------------------------------------------------------------- - protected Map decorateMap(Map map, Predicate keyPredicate, - Predicate valuePredicate) { + protected Map<K, V> decorateMap(Map<K, V> map, Predicate<? super K> keyPredicate, + Predicate<? super V> valuePredicate) { return PredicatedMap.decorate(map, keyPredicate, valuePredicate); } - - public Map makeEmptyMap() { - return decorateMap(new HashMap(), truePredicate, truePredicate); + + public Map<K, V> makeObject() { + return decorateMap(new HashMap<K, V>(), truePredicate, truePredicate); } - - public Map makeTestMap() { - return decorateMap(new HashMap(), testPredicate, testPredicate); + + public Map<K, V> makeTestMap() { + return decorateMap(new HashMap<K, V>(), testPredicate, testPredicate); } //----------------------------------------------------------------------- + @SuppressWarnings("unchecked") public void testEntrySet() { - Map map = makeTestMap(); + Map<K, V> map = makeTestMap(); assertTrue("returned entryset should not be null", map.entrySet() != null); - map = decorateMap(new HashMap(), null, null); - map.put("oneKey", "oneValue"); + map = decorateMap(new HashMap<K, V>(), null, null); + map.put((K) "oneKey", (V) "oneValue"); assertTrue("returned entryset should contain one entry", - map.entrySet().size() == 1); + map.entrySet().size() == 1); map = decorateMap(map, null, null); } - + + @SuppressWarnings("unchecked") public void testPut() { - Map map = makeTestMap(); + Map<K, V> map = makeTestMap(); try { - map.put("Hi", new Integer(3)); + map.put((K) "Hi", (V) new Integer(3)); fail("Illegal value should raise IllegalArgument"); } catch (IllegalArgumentException e) { // expected } try { - map.put(new Integer(3), "Hi"); + map.put((K) new Integer(3), (V) "Hi"); fail("Illegal key should raise IllegalArgument"); } catch (IllegalArgumentException e) { // expected @@ -103,11 +105,11 @@ public class TestPredicatedMap extends AbstractTestMap{ assertTrue(!map.containsKey(new Integer(3))); assertTrue(!map.containsValue(new Integer(3))); - Map map2 = new HashMap(); - map2.put("A", "a"); - map2.put("B", "b"); - map2.put("C", "c"); - map2.put("c", new Integer(3)); + Map<K, V> map2 = new HashMap<K, V>(); + map2.put((K) "A", (V) "a"); + map2.put((K) "B", (V) "b"); + map2.put((K) "C", (V) "c"); + map2.put((K) "c", (V) new Integer(3)); try { map.putAll(map2); @@ -116,21 +118,21 @@ public class TestPredicatedMap extends AbstractTestMap{ // expected } - map.put("E", "e"); - Iterator iterator = map.entrySet().iterator(); + map.put((K) "E", (V) "e"); + Iterator<Map.Entry<K, V>> iterator = map.entrySet().iterator(); try { - Map.Entry entry = (Map.Entry)iterator.next(); - entry.setValue(new Integer(3)); + Map.Entry<K, V> entry = iterator.next(); + entry.setValue((V) new Integer(3)); fail("Illegal value should raise IllegalArgument"); } catch (IllegalArgumentException e) { // expected } - - map.put("F", "f"); + + map.put((K) "F", (V) "f"); iterator = map.entrySet().iterator(); - Map.Entry entry = (Map.Entry)iterator.next(); - entry.setValue("x"); - + Map.Entry<K, V> entry = iterator.next(); + entry.setValue((V) "x"); + } public String getCompatibilityVersion() {