mirror of
https://github.com/apache/commons-collections.git
synced 2025-02-06 10:09:16 +00:00
Fixing eol style as per sebb's email
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/collections/trunk@647045 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2619bfa66c
commit
c34c46965f
@ -1,356 +1,356 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.commons.collections.map;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.IteratorUtils;
|
||||
import org.apache.commons.collections.MultiMap;
|
||||
|
||||
/**
|
||||
* TestMultiValueMap.
|
||||
*
|
||||
* @author <a href="mailto:jcarman@apache.org">James Carman</a>
|
||||
* @author Stephen Colebourne
|
||||
* @since Commons Collections 3.2
|
||||
*/
|
||||
public class TestMultiValueMap extends TestCase {
|
||||
|
||||
public TestMultiValueMap(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestMultiValueMap.class);
|
||||
}
|
||||
|
||||
public static void main(String args[]) {
|
||||
String[] testCaseName = { TestMultiValueMap.class.getName()};
|
||||
junit.textui.TestRunner.main(testCaseName);
|
||||
}
|
||||
|
||||
public void testNoMappingReturnsNull() {
|
||||
final MultiValueMap map = createTestMap();
|
||||
assertNull(map.get("whatever"));
|
||||
}
|
||||
|
||||
public void testValueCollectionType() {
|
||||
final MultiValueMap map = createTestMap(LinkedList.class);
|
||||
assertTrue(map.get("one") instanceof LinkedList);
|
||||
}
|
||||
|
||||
public void testMultipleValues() {
|
||||
final MultiValueMap map = createTestMap(HashSet.class);
|
||||
final HashSet expected = new HashSet();
|
||||
expected.add("uno");
|
||||
expected.add("un");
|
||||
assertEquals(expected, map.get("one"));
|
||||
}
|
||||
|
||||
public void testContainsValue() {
|
||||
final MultiValueMap map = createTestMap(HashSet.class);
|
||||
assertTrue(map.containsValue("uno"));
|
||||
assertTrue(map.containsValue("un"));
|
||||
assertTrue(map.containsValue("dos"));
|
||||
assertTrue(map.containsValue("deux"));
|
||||
assertTrue(map.containsValue("tres"));
|
||||
assertTrue(map.containsValue("trois"));
|
||||
assertFalse(map.containsValue("quatro"));
|
||||
}
|
||||
|
||||
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"));
|
||||
}
|
||||
|
||||
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();
|
||||
assertEquals(6, c.size());
|
||||
assertEquals(expected, new HashSet(c));
|
||||
}
|
||||
|
||||
private MultiValueMap 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");
|
||||
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"}));
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
public void testRemoveAllViaIterator() {
|
||||
final MultiValueMap map = createTestMap();
|
||||
for(Iterator i = map.values().iterator(); i.hasNext();) {
|
||||
i.next();
|
||||
i.remove();
|
||||
}
|
||||
assertNull(map.get("one"));
|
||||
assertTrue(map.isEmpty());
|
||||
}
|
||||
|
||||
public void testRemoveAllViaKeyedIterator() {
|
||||
final MultiValueMap map = createTestMap();
|
||||
for(Iterator i = map.iterator("one"); i.hasNext();) {
|
||||
i.next();
|
||||
i.remove();
|
||||
}
|
||||
assertNull(map.get("one"));
|
||||
assertEquals(4, map.totalSize());
|
||||
}
|
||||
|
||||
public void testTotalSizeA() {
|
||||
assertEquals(6, createTestMap().totalSize());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
public void testMapEquals() {
|
||||
MultiValueMap one = new MultiValueMap();
|
||||
Integer value = new Integer(1);
|
||||
one.put("One", value);
|
||||
one.remove("One", value);
|
||||
|
||||
MultiValueMap two = new MultiValueMap();
|
||||
assertEquals(two, one);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
public void testGetCollection() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
map.put("A", "AA");
|
||||
assertSame(map.get("A"), map.getCollection("A"));
|
||||
}
|
||||
|
||||
public void testTotalSize() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(0, map.totalSize());
|
||||
map.put("A", "AA");
|
||||
assertEquals(1, map.totalSize());
|
||||
map.put("B", "BA");
|
||||
assertEquals(2, map.totalSize());
|
||||
map.put("B", "BB");
|
||||
assertEquals(3, map.totalSize());
|
||||
map.put("B", "BC");
|
||||
assertEquals(4, map.totalSize());
|
||||
map.remove("A");
|
||||
assertEquals(3, map.totalSize());
|
||||
map.remove("B", "BC");
|
||||
assertEquals(2, map.totalSize());
|
||||
}
|
||||
|
||||
public void testSize() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(0, map.size());
|
||||
map.put("A", "AA");
|
||||
assertEquals(1, map.size());
|
||||
map.put("B", "BA");
|
||||
assertEquals(2, map.size());
|
||||
map.put("B", "BB");
|
||||
assertEquals(2, map.size());
|
||||
map.put("B", "BC");
|
||||
assertEquals(2, map.size());
|
||||
map.remove("A");
|
||||
assertEquals(1, map.size());
|
||||
map.remove("B", "BC");
|
||||
assertEquals(1, map.size());
|
||||
}
|
||||
|
||||
public void testSize_Key() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(0, map.size("A"));
|
||||
assertEquals(0, map.size("B"));
|
||||
map.put("A", "AA");
|
||||
assertEquals(1, map.size("A"));
|
||||
assertEquals(0, map.size("B"));
|
||||
map.put("B", "BA");
|
||||
assertEquals(1, map.size("A"));
|
||||
assertEquals(1, map.size("B"));
|
||||
map.put("B", "BB");
|
||||
assertEquals(1, map.size("A"));
|
||||
assertEquals(2, map.size("B"));
|
||||
map.put("B", "BC");
|
||||
assertEquals(1, map.size("A"));
|
||||
assertEquals(3, map.size("B"));
|
||||
map.remove("A");
|
||||
assertEquals(0, map.size("A"));
|
||||
assertEquals(3, map.size("B"));
|
||||
map.remove("B", "BC");
|
||||
assertEquals(0, map.size("A"));
|
||||
assertEquals(2, map.size("B"));
|
||||
}
|
||||
|
||||
public void testIterator_Key() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(false, map.iterator("A").hasNext());
|
||||
map.put("A", "AA");
|
||||
Iterator it = map.iterator("A");
|
||||
assertEquals(true, it.hasNext());
|
||||
it.next();
|
||||
assertEquals(false, it.hasNext());
|
||||
}
|
||||
|
||||
public void testContainsValue_Key() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(false, map.containsValue("A", "AA"));
|
||||
assertEquals(false, map.containsValue("B", "BB"));
|
||||
map.put("A", "AA");
|
||||
assertEquals(true, map.containsValue("A", "AA"));
|
||||
assertEquals(false, map.containsValue("A", "AB"));
|
||||
}
|
||||
|
||||
public void testPutWithList() {
|
||||
MultiValueMap test = MultiValueMap.decorate(new HashMap(), ArrayList.class);
|
||||
assertEquals("a", test.put("A", "a"));
|
||||
assertEquals("b", test.put("A", "b"));
|
||||
assertEquals(1, test.size());
|
||||
assertEquals(2, test.size("A"));
|
||||
assertEquals(2, test.totalSize());
|
||||
}
|
||||
|
||||
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"));
|
||||
assertEquals(1, test.size());
|
||||
assertEquals(2, test.size("A"));
|
||||
assertEquals(2, test.totalSize());
|
||||
}
|
||||
|
||||
public void testPutAll_Map1() {
|
||||
MultiMap original = new MultiValueMap();
|
||||
original.put("key", "object1");
|
||||
original.put("key", "object2");
|
||||
|
||||
MultiValueMap test = new MultiValueMap();
|
||||
test.put("keyA", "objectA");
|
||||
test.put("key", "object0");
|
||||
test.putAll(original);
|
||||
|
||||
assertEquals(2, test.size());
|
||||
assertEquals(4, test.totalSize());
|
||||
assertEquals(1, test.getCollection("keyA").size());
|
||||
assertEquals(3, test.getCollection("key").size());
|
||||
assertEquals(true, test.containsValue("objectA"));
|
||||
assertEquals(true, test.containsValue("object0"));
|
||||
assertEquals(true, test.containsValue("object1"));
|
||||
assertEquals(true, test.containsValue("object2"));
|
||||
}
|
||||
|
||||
public void testPutAll_Map2() {
|
||||
Map original = new HashMap();
|
||||
original.put("keyX", "object1");
|
||||
original.put("keyY", "object2");
|
||||
|
||||
MultiValueMap test = new MultiValueMap();
|
||||
test.put("keyA", "objectA");
|
||||
test.put("keyX", "object0");
|
||||
test.putAll(original);
|
||||
|
||||
assertEquals(3, test.size());
|
||||
assertEquals(4, test.totalSize());
|
||||
assertEquals(1, test.getCollection("keyA").size());
|
||||
assertEquals(2, test.getCollection("keyX").size());
|
||||
assertEquals(1, test.getCollection("keyY").size());
|
||||
assertEquals(true, test.containsValue("objectA"));
|
||||
assertEquals(true, test.containsValue("object0"));
|
||||
assertEquals(true, test.containsValue("object1"));
|
||||
assertEquals(true, test.containsValue("object2"));
|
||||
}
|
||||
|
||||
public void testPutAll_KeyCollection() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
Collection coll = Arrays.asList(new Object[] {"X", "Y", "Z"});
|
||||
|
||||
assertEquals(true, map.putAll("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(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(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));
|
||||
assertEquals(4, map.size("A"));
|
||||
assertEquals(true, map.containsValue("A", "X"));
|
||||
assertEquals(true, map.containsValue("A", "Y"));
|
||||
assertEquals(true, map.containsValue("A", "Z"));
|
||||
assertEquals(true, map.containsValue("A", "M"));
|
||||
}
|
||||
|
||||
public void testRemove_KeyItem() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
map.put("A", "AA");
|
||||
map.put("A", "AB");
|
||||
map.put("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);
|
||||
}
|
||||
|
||||
}
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.apache.commons.collections.map;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.commons.collections.IteratorUtils;
|
||||
import org.apache.commons.collections.MultiMap;
|
||||
|
||||
/**
|
||||
* TestMultiValueMap.
|
||||
*
|
||||
* @author <a href="mailto:jcarman@apache.org">James Carman</a>
|
||||
* @author Stephen Colebourne
|
||||
* @since Commons Collections 3.2
|
||||
*/
|
||||
public class TestMultiValueMap extends TestCase {
|
||||
|
||||
public TestMultiValueMap(String testName) {
|
||||
super(testName);
|
||||
}
|
||||
|
||||
public static Test suite() {
|
||||
return new TestSuite(TestMultiValueMap.class);
|
||||
}
|
||||
|
||||
public static void main(String args[]) {
|
||||
String[] testCaseName = { TestMultiValueMap.class.getName()};
|
||||
junit.textui.TestRunner.main(testCaseName);
|
||||
}
|
||||
|
||||
public void testNoMappingReturnsNull() {
|
||||
final MultiValueMap map = createTestMap();
|
||||
assertNull(map.get("whatever"));
|
||||
}
|
||||
|
||||
public void testValueCollectionType() {
|
||||
final MultiValueMap map = createTestMap(LinkedList.class);
|
||||
assertTrue(map.get("one") instanceof LinkedList);
|
||||
}
|
||||
|
||||
public void testMultipleValues() {
|
||||
final MultiValueMap map = createTestMap(HashSet.class);
|
||||
final HashSet expected = new HashSet();
|
||||
expected.add("uno");
|
||||
expected.add("un");
|
||||
assertEquals(expected, map.get("one"));
|
||||
}
|
||||
|
||||
public void testContainsValue() {
|
||||
final MultiValueMap map = createTestMap(HashSet.class);
|
||||
assertTrue(map.containsValue("uno"));
|
||||
assertTrue(map.containsValue("un"));
|
||||
assertTrue(map.containsValue("dos"));
|
||||
assertTrue(map.containsValue("deux"));
|
||||
assertTrue(map.containsValue("tres"));
|
||||
assertTrue(map.containsValue("trois"));
|
||||
assertFalse(map.containsValue("quatro"));
|
||||
}
|
||||
|
||||
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"));
|
||||
}
|
||||
|
||||
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();
|
||||
assertEquals(6, c.size());
|
||||
assertEquals(expected, new HashSet(c));
|
||||
}
|
||||
|
||||
private MultiValueMap 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");
|
||||
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"}));
|
||||
assertEquals(expected, actual);
|
||||
}
|
||||
|
||||
public void testRemoveAllViaIterator() {
|
||||
final MultiValueMap map = createTestMap();
|
||||
for(Iterator i = map.values().iterator(); i.hasNext();) {
|
||||
i.next();
|
||||
i.remove();
|
||||
}
|
||||
assertNull(map.get("one"));
|
||||
assertTrue(map.isEmpty());
|
||||
}
|
||||
|
||||
public void testRemoveAllViaKeyedIterator() {
|
||||
final MultiValueMap map = createTestMap();
|
||||
for(Iterator i = map.iterator("one"); i.hasNext();) {
|
||||
i.next();
|
||||
i.remove();
|
||||
}
|
||||
assertNull(map.get("one"));
|
||||
assertEquals(4, map.totalSize());
|
||||
}
|
||||
|
||||
public void testTotalSizeA() {
|
||||
assertEquals(6, createTestMap().totalSize());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
public void testMapEquals() {
|
||||
MultiValueMap one = new MultiValueMap();
|
||||
Integer value = new Integer(1);
|
||||
one.put("One", value);
|
||||
one.remove("One", value);
|
||||
|
||||
MultiValueMap two = new MultiValueMap();
|
||||
assertEquals(two, one);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
public void testGetCollection() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
map.put("A", "AA");
|
||||
assertSame(map.get("A"), map.getCollection("A"));
|
||||
}
|
||||
|
||||
public void testTotalSize() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(0, map.totalSize());
|
||||
map.put("A", "AA");
|
||||
assertEquals(1, map.totalSize());
|
||||
map.put("B", "BA");
|
||||
assertEquals(2, map.totalSize());
|
||||
map.put("B", "BB");
|
||||
assertEquals(3, map.totalSize());
|
||||
map.put("B", "BC");
|
||||
assertEquals(4, map.totalSize());
|
||||
map.remove("A");
|
||||
assertEquals(3, map.totalSize());
|
||||
map.remove("B", "BC");
|
||||
assertEquals(2, map.totalSize());
|
||||
}
|
||||
|
||||
public void testSize() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(0, map.size());
|
||||
map.put("A", "AA");
|
||||
assertEquals(1, map.size());
|
||||
map.put("B", "BA");
|
||||
assertEquals(2, map.size());
|
||||
map.put("B", "BB");
|
||||
assertEquals(2, map.size());
|
||||
map.put("B", "BC");
|
||||
assertEquals(2, map.size());
|
||||
map.remove("A");
|
||||
assertEquals(1, map.size());
|
||||
map.remove("B", "BC");
|
||||
assertEquals(1, map.size());
|
||||
}
|
||||
|
||||
public void testSize_Key() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(0, map.size("A"));
|
||||
assertEquals(0, map.size("B"));
|
||||
map.put("A", "AA");
|
||||
assertEquals(1, map.size("A"));
|
||||
assertEquals(0, map.size("B"));
|
||||
map.put("B", "BA");
|
||||
assertEquals(1, map.size("A"));
|
||||
assertEquals(1, map.size("B"));
|
||||
map.put("B", "BB");
|
||||
assertEquals(1, map.size("A"));
|
||||
assertEquals(2, map.size("B"));
|
||||
map.put("B", "BC");
|
||||
assertEquals(1, map.size("A"));
|
||||
assertEquals(3, map.size("B"));
|
||||
map.remove("A");
|
||||
assertEquals(0, map.size("A"));
|
||||
assertEquals(3, map.size("B"));
|
||||
map.remove("B", "BC");
|
||||
assertEquals(0, map.size("A"));
|
||||
assertEquals(2, map.size("B"));
|
||||
}
|
||||
|
||||
public void testIterator_Key() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(false, map.iterator("A").hasNext());
|
||||
map.put("A", "AA");
|
||||
Iterator it = map.iterator("A");
|
||||
assertEquals(true, it.hasNext());
|
||||
it.next();
|
||||
assertEquals(false, it.hasNext());
|
||||
}
|
||||
|
||||
public void testContainsValue_Key() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
assertEquals(false, map.containsValue("A", "AA"));
|
||||
assertEquals(false, map.containsValue("B", "BB"));
|
||||
map.put("A", "AA");
|
||||
assertEquals(true, map.containsValue("A", "AA"));
|
||||
assertEquals(false, map.containsValue("A", "AB"));
|
||||
}
|
||||
|
||||
public void testPutWithList() {
|
||||
MultiValueMap test = MultiValueMap.decorate(new HashMap(), ArrayList.class);
|
||||
assertEquals("a", test.put("A", "a"));
|
||||
assertEquals("b", test.put("A", "b"));
|
||||
assertEquals(1, test.size());
|
||||
assertEquals(2, test.size("A"));
|
||||
assertEquals(2, test.totalSize());
|
||||
}
|
||||
|
||||
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"));
|
||||
assertEquals(1, test.size());
|
||||
assertEquals(2, test.size("A"));
|
||||
assertEquals(2, test.totalSize());
|
||||
}
|
||||
|
||||
public void testPutAll_Map1() {
|
||||
MultiMap original = new MultiValueMap();
|
||||
original.put("key", "object1");
|
||||
original.put("key", "object2");
|
||||
|
||||
MultiValueMap test = new MultiValueMap();
|
||||
test.put("keyA", "objectA");
|
||||
test.put("key", "object0");
|
||||
test.putAll(original);
|
||||
|
||||
assertEquals(2, test.size());
|
||||
assertEquals(4, test.totalSize());
|
||||
assertEquals(1, test.getCollection("keyA").size());
|
||||
assertEquals(3, test.getCollection("key").size());
|
||||
assertEquals(true, test.containsValue("objectA"));
|
||||
assertEquals(true, test.containsValue("object0"));
|
||||
assertEquals(true, test.containsValue("object1"));
|
||||
assertEquals(true, test.containsValue("object2"));
|
||||
}
|
||||
|
||||
public void testPutAll_Map2() {
|
||||
Map original = new HashMap();
|
||||
original.put("keyX", "object1");
|
||||
original.put("keyY", "object2");
|
||||
|
||||
MultiValueMap test = new MultiValueMap();
|
||||
test.put("keyA", "objectA");
|
||||
test.put("keyX", "object0");
|
||||
test.putAll(original);
|
||||
|
||||
assertEquals(3, test.size());
|
||||
assertEquals(4, test.totalSize());
|
||||
assertEquals(1, test.getCollection("keyA").size());
|
||||
assertEquals(2, test.getCollection("keyX").size());
|
||||
assertEquals(1, test.getCollection("keyY").size());
|
||||
assertEquals(true, test.containsValue("objectA"));
|
||||
assertEquals(true, test.containsValue("object0"));
|
||||
assertEquals(true, test.containsValue("object1"));
|
||||
assertEquals(true, test.containsValue("object2"));
|
||||
}
|
||||
|
||||
public void testPutAll_KeyCollection() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
Collection coll = Arrays.asList(new Object[] {"X", "Y", "Z"});
|
||||
|
||||
assertEquals(true, map.putAll("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(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(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));
|
||||
assertEquals(4, map.size("A"));
|
||||
assertEquals(true, map.containsValue("A", "X"));
|
||||
assertEquals(true, map.containsValue("A", "Y"));
|
||||
assertEquals(true, map.containsValue("A", "Z"));
|
||||
assertEquals(true, map.containsValue("A", "M"));
|
||||
}
|
||||
|
||||
public void testRemove_KeyItem() {
|
||||
MultiValueMap map = new MultiValueMap();
|
||||
map.put("A", "AA");
|
||||
map.put("A", "AB");
|
||||
map.put("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);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user