From 7df755545a310d46ab3c882ce6ca32fe13ed8a01 Mon Sep 17 00:00:00 2001 From: Tomasz Lelek Date: Thu, 12 Jan 2017 11:16:34 +0100 Subject: [PATCH] BAEL-586 guava multimap examples --- .../java/com/baeldung/guava/MultimapTest.java | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 guava19/src/test/java/com/baeldung/guava/MultimapTest.java diff --git a/guava19/src/test/java/com/baeldung/guava/MultimapTest.java b/guava19/src/test/java/com/baeldung/guava/MultimapTest.java new file mode 100644 index 0000000000..dbe47923bb --- /dev/null +++ b/guava19/src/test/java/com/baeldung/guava/MultimapTest.java @@ -0,0 +1,62 @@ +package com.baeldung.guava; + +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.Multimap; +import org.junit.Test; + +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +public class MultimapTest { + + @Test + public void givenMap_whenAddTwoValuesFroSameKey_shouldOverridePreviousKey() { + //given + String key = "a-key"; + Map map = new LinkedHashMap<>(); + + //when + map.put(key, "firstValue"); + map.put(key, "secondValue"); + + //then + assertEquals(1, map.size()); + } + + @Test + public void givenMultiMap_whenAddTwoValuesFroSameKey_shouldHaveTwoEntriesInMap() { + //given + String key = "a-key"; + Multimap map = ArrayListMultimap.create(); + + //when + map.put(key, "firstValue"); + map.put(key, "secondValue"); + + //then + assertEquals(2, map.size()); + } + + @Test + public void givenMapOfListValues_whenAddTwoValuesFroSameKey_shouldHaveTwoElementInList() { + //given + String key = "a-key"; + Map> map = new LinkedHashMap<>(); + + //when + List values = map.get(key); + if(values == null){ + values = new LinkedList<>(); + values.add("firstValue"); + values.add("secondValue"); + } + map.put(key, values); + + //then + assertEquals(1, map.size()); + } +}