diff --git a/src/test/java/org/apache/commons/collections4/multimap/AbstractMultiValuedMapTest.java b/src/test/java/org/apache/commons/collections4/multimap/AbstractMultiValuedMapTest.java index 444546f29..b821e79f4 100644 --- a/src/test/java/org/apache/commons/collections4/multimap/AbstractMultiValuedMapTest.java +++ b/src/test/java/org/apache/commons/collections4/multimap/AbstractMultiValuedMapTest.java @@ -688,6 +688,7 @@ public abstract class AbstractMultiValuedMapTest extends AbstractObjectTes assertEquals(2, keyMultiSet.getCount("one")); assertEquals(2, keyMultiSet.getCount("two")); assertEquals(2, keyMultiSet.getCount("three")); + assertEquals(0, keyMultiSet.getCount("conut")); assertEquals(6, keyMultiSet.size()); } diff --git a/src/test/java/org/apache/commons/collections4/multimap/HashSetValuedHashMapTest.java b/src/test/java/org/apache/commons/collections4/multimap/HashSetValuedHashMapTest.java index 2a46641e4..8a339989a 100644 --- a/src/test/java/org/apache/commons/collections4/multimap/HashSetValuedHashMapTest.java +++ b/src/test/java/org/apache/commons/collections4/multimap/HashSetValuedHashMapTest.java @@ -16,7 +16,9 @@ */ package org.apache.commons.collections4.multimap; +import java.util.HashMap; import java.util.Iterator; +import java.util.Map; import java.util.Set; import junit.framework.Test; @@ -125,6 +127,57 @@ public class HashSetValuedHashMapTest extends AbstractMultiValuedMapTest setMap = new HashSetValuedHashMap<>(4); + assertEquals(0, setMap.get((K) "whatever").size()); + + final Set set = setMap.get((K) "A"); + set.add((V) "W"); + set.add((V) "X"); + set.add((V) "F"); + assertEquals(3, setMap.get((K) "A").size()); + } + + public void testHashSetValueHashMap_1() { + final MultiValuedMap map = new ArrayListValuedHashMap<>(); + SetValuedMap map1 = null; + SetValuedMap map2 = makeObject(); + SetValuedMap map3 = null; + + map.put((K) "A", (V) "W"); + map.put((K) "A", (V) "X"); + map.put((K) "A", (V) "F"); + map1 = new HashSetValuedHashMap<>(map); + assertEquals(3, map1.get((K) "A").size()); + map2.put((K) "A", (V) "X"); + map2.put((K) "A", (V) "F"); + map2.put((K) "A", (V) "W"); + assertEquals(map1, map2); + assertEquals(map1.hashCode(), map2.hashCode()); + + map.remove("A"); + map3 = new HashSetValuedHashMap<>(map); + assertEquals("{}", map3.toString()); + } + + public void testHashSetValuedHashMap_2(){ + final Map map = new HashMap<>(); + SetValuedMap map1 = null; + SetValuedMap map2 = null; + + map.put((K) "A", (V) "W"); + map.put((K) "B", (V) "X"); + map.put((K) "C", (V) "F"); + map1 = new HashSetValuedHashMap<>(map); + assertEquals(1, map1.get((K) "A").size()); + + map.remove("A"); + map.remove("B"); + map.remove("C"); + map2 = new HashSetValuedHashMap<>(map); + assertEquals("{}", map2.toString()); + } + // public void testCreate() throws Exception { // writeExternalFormToDisk((java.io.Serializable) makeObject(), // "src/test/resources/data/test/HashSetValuedHashMap.emptyCollection.version4.1.obj"); diff --git a/src/test/java/org/apache/commons/collections4/multimap/TransformedMultiValuedMapTest.java b/src/test/java/org/apache/commons/collections4/multimap/TransformedMultiValuedMapTest.java index ed0723e84..0f9c12eba 100644 --- a/src/test/java/org/apache/commons/collections4/multimap/TransformedMultiValuedMapTest.java +++ b/src/test/java/org/apache/commons/collections4/multimap/TransformedMultiValuedMapTest.java @@ -131,6 +131,17 @@ public class TransformedMultiValuedMapTest extends AbstractMultiValuedMapT assertEquals(true, trans.get((K) "C").contains(Integer.valueOf(3))); trans.put((K) "D", (V) "4"); assertEquals(true, trans.get((K) "D").contains(Integer.valueOf(4))); + + final MultiValuedMap baseMap = new ArrayListValuedHashMap<>(); + final MultiValuedMap transMap = TransformedMultiValuedMap + .transformedMap( + baseMap, + null, + (Transformer) TransformedCollectionTest.STRING_TO_INTEGER_TRANSFORMER); + assertEquals(0, transMap.size()); + transMap.put((K) "D", (V) "4"); + assertEquals(1, transMap.size()); + assertEquals(true, transMap.get((K) "D").contains(Integer.valueOf(4))); } // public void testCreate() throws Exception {