[BAEL-2471] Guide to Apache Commons MultiValuedMap (#6308)
* [BAEL-2471] Guide to Apache Commons MultiValuedMap * Update MultiValuedMapUnitTest.java * added empty lines * updated as per review comments
This commit is contained in:
parent
4e8590698d
commit
96277462b8
|
@ -22,139 +22,157 @@ public class MultiValuedMapUnitTest {
|
|||
public void givenMultiValuesMap_whenPuttingMultipleValuesUsingPutMethod_thenReturningAllValues() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
|
||||
map.put("key", "value1");
|
||||
map.put("key", "value2");
|
||||
map.put("key", "value2");
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
|
||||
assertThat((Collection<String>) map.get("key")).containsExactly("value1", "value2", "value2");
|
||||
assertThat((Collection<String>) map.get("fruits")).containsExactly("apple", "orange");
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenPuttingMultipleValuesUsingPutAllMethod_thenReturningAllValues() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
|
||||
map.putAll("vehicles", Arrays.asList("car", "bike"));
|
||||
|
||||
map.putAll("key", Arrays.asList("value1", "value2", "value2"));
|
||||
|
||||
assertThat((Collection<String>) map.get("key")).containsExactly("value1", "value2", "value2");
|
||||
assertThat((Collection<String>) map.get("vehicles")).containsExactly("car", "bike");
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenGettingValueUsingGetMethod_thenReturningValue() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
|
||||
map.put("fruits", "apple");
|
||||
|
||||
assertThat((Collection<String>) map.get("key")).containsExactly("value");
|
||||
assertThat((Collection<String>) map.get("fruits")).containsExactly("apple");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingEntriesMethod_thenReturningMappings() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value1");
|
||||
map.put("key", "value2");
|
||||
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
|
||||
Collection<Entry<String, String>> entries = (Collection<Entry<String, String>>) map.entries();
|
||||
|
||||
for(Map.Entry<String,String> entry : entries) {
|
||||
assertThat(entry.getKey()).contains("key");
|
||||
assertTrue(entry.getValue().equals("value1") || entry.getValue().equals("value2") );
|
||||
assertThat(entry.getKey()).contains("fruits");
|
||||
assertTrue(entry.getValue().equals("apple") || entry.getValue().equals("orange") );
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingKeysMethod_thenReturningAllKeys() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
|
||||
assertThat(((Collection<String>) map.keys())).contains("key", "key1", "key2");
|
||||
assertThat(((Collection<String>) map.keys())).contains("fruits", "vehicles");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingKeySetMethod_thenReturningAllKeys() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
|
||||
assertThat((Collection<String>) map.keySet()).contains("key", "key1", "key2");
|
||||
assertThat((Collection<String>) map.keySet()).contains("fruits", "vehicles");
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingValuesMethod_thenReturningAllValues() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
|
||||
assertThat(((Collection<String>) map.values())).contains("value", "value1", "value2");
|
||||
assertThat(((Collection<String>) map.values())).contains("apple", "orange", "car", "bike");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingRemoveMethod_thenReturningUpdatedMap() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
assertThat(((Collection<String>) map.values())).contains("value", "value1", "value2");
|
||||
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
assertThat(((Collection<String>) map.values())).contains("apple", "orange", "car", "bike");
|
||||
|
||||
map.remove("key");
|
||||
map.remove("fruits");
|
||||
|
||||
assertThat(((Collection<String>) map.values())).contains("value1", "value2");
|
||||
assertThat(((Collection<String>) map.values())).contains("car", "bike");
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingRemoveMappingMethod_thenReturningUpdatedMapAfterMappingRemoved() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
assertThat(((Collection<String>) map.values())).contains("value", "value1", "value2");
|
||||
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
assertThat(((Collection<String>) map.values())).contains("apple", "orange", "car", "bike");
|
||||
|
||||
map.removeMapping("key", "value");
|
||||
map.removeMapping("fruits", "apple");
|
||||
|
||||
assertThat(((Collection<String>) map.values())).contains("value1", "value2");
|
||||
assertThat(((Collection<String>) map.values())).contains("orange", "car", "bike");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingClearMethod_thenReturningEmptyMap() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
assertThat(((Collection<String>) map.values())).contains("value", "value1", "value2");
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
assertThat(((Collection<String>) map.values())).contains("apple", "orange", "car", "bike");
|
||||
|
||||
map.clear();
|
||||
|
||||
|
||||
assertTrue(map.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingContainsKeyMethod_thenReturningTrue() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
|
||||
assertTrue(map.containsKey("key"));
|
||||
assertTrue(map.containsKey("fruits"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingContainsValueMethod_thenReturningTrue() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
|
||||
assertTrue(map.containsValue("value"));
|
||||
assertTrue(map.containsValue("orange"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenMultiValuesMap_whenUsingIsEmptyMethod_thenReturningFalse() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
|
||||
assertFalse(map.isEmpty());
|
||||
}
|
||||
|
@ -162,42 +180,42 @@ public class MultiValuedMapUnitTest {
|
|||
@Test
|
||||
public void givenMultiValuesMap_whenUsingSizeMethod_thenReturningElementCount() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value");
|
||||
map.put("key1", "value1");
|
||||
map.put("key2", "value2");
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("vehicles", "car");
|
||||
map.put("vehicles", "bike");
|
||||
|
||||
assertEquals(3, map.size());
|
||||
assertEquals(4, map.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenArrayListValuedHashMap_whenPuttingDoubleValues_thenReturningAllValues() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
map.put("fruits", "orange");
|
||||
|
||||
map.put("key", "value1");
|
||||
map.put("key", "value2");
|
||||
map.put("key", "value2");
|
||||
|
||||
assertThat((Collection<String>) map.get("key")).containsExactly("value1", "value2", "value2");
|
||||
assertThat((Collection<String>) map.get("fruits")).containsExactly("apple", "orange", "orange");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenHashSetValuedHashMap_whenPuttingTwiceTheSame_thenReturningOneValue() {
|
||||
MultiValuedMap<String, String> map = new HashSetValuedHashMap<>();
|
||||
|
||||
map.put("key1", "value1");
|
||||
map.put("key1", "value1");
|
||||
|
||||
assertThat((Collection<String>) map.get("key1")).containsExactly("value1");
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "apple");
|
||||
|
||||
assertThat((Collection<String>) map.get("fruits")).containsExactly("apple");
|
||||
}
|
||||
|
||||
@Test(expected = UnsupportedOperationException.class)
|
||||
public void givenUnmodifiableMultiValuedMap_whenInserting_thenThrowingException() {
|
||||
MultiValuedMap<String, String> map = new ArrayListValuedHashMap<>();
|
||||
map.put("key", "value1");
|
||||
map.put("key", "value2");
|
||||
map.put("fruits", "apple");
|
||||
map.put("fruits", "orange");
|
||||
MultiValuedMap<String, String> immutableMap = MultiMapUtils.unmodifiableMultiValuedMap(map);
|
||||
|
||||
immutableMap.put("key", "value3");
|
||||
immutableMap.put("fruits", "banana");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue