You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ch...@apache.org on 2017/07/11 17:54:48 UTC
[03/77] [abbrv] commons-collections git commit: finish generics
(minus one class)
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() {