From f0797a0c04e6526f4b0067d13084d0b51a423d08 Mon Sep 17 00:00:00 2001 From: Sushant Date: Thu, 28 Mar 2019 07:19:55 +0100 Subject: [PATCH 1/4] Multi set --- .../baeldung/guava/GuavaMultiSetUnitTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java b/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java new file mode 100644 index 0000000000..4f28f8ebfc --- /dev/null +++ b/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java @@ -0,0 +1,20 @@ +package org.baeldung.guava; + +import com.google.common.collect.HashMultiset; +import com.google.common.collect.Multiset; +import org.junit.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class GuavaMultiSetUnitTest { + + @Test + public void add_multipleValues() { + Multiset bookStore = HashMultiset.create(); + bookStore.add("Potter"); + bookStore.add("Potter"); + + assertThat(bookStore.contains("Potter")).isTrue(); + assertThat(bookStore.count("Potter")).isEqualTo(2); + } +} From af98a10b23067e486ca7d149e5e93bad55801a2f Mon Sep 17 00:00:00 2001 From: Sushant Date: Thu, 28 Mar 2019 07:33:31 +0100 Subject: [PATCH 2/4] Fix --- .../src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java b/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java index 4f28f8ebfc..faadc349d0 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java +++ b/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java @@ -15,6 +15,6 @@ public class GuavaMultiSetUnitTest { bookStore.add("Potter"); assertThat(bookStore.contains("Potter")).isTrue(); - assertThat(bookStore.count("Potter")).isEqualTo(2); + assertThat(bookStore.count("Potter")).isEqualTo(3); } } From 72d38fd1cac1b61fabbbdb6aa903dd5666a583ce Mon Sep 17 00:00:00 2001 From: Sushant Date: Sun, 31 Mar 2019 15:10:04 +0300 Subject: [PATCH 3/4] Add unit test --- .../baeldung/guava/GuavaMultiSetUnitTest.java | 69 ++++++++++++++++--- 1 file changed, 61 insertions(+), 8 deletions(-) diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java b/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java index faadc349d0..b3f097cf9a 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java +++ b/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java @@ -4,17 +4,70 @@ import com.google.common.collect.HashMultiset; import com.google.common.collect.Multiset; import org.junit.Test; +import java.util.HashMap; +import java.util.Map; + import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; public class GuavaMultiSetUnitTest { - @Test - public void add_multipleValues() { - Multiset bookStore = HashMultiset.create(); - bookStore.add("Potter"); - bookStore.add("Potter"); + @Test + public void givenMultiSet_whenAddAndRemoveValues_shouldReturnCorrectCount() { + Multiset bookStore = HashMultiset.create(); + bookStore.add("Potter"); + bookStore.add("Potter"); + bookStore.add("Potter"); - assertThat(bookStore.contains("Potter")).isTrue(); - assertThat(bookStore.count("Potter")).isEqualTo(3); - } + assertThat(bookStore.contains("Potter")).isTrue(); + assertThat(bookStore.count("Potter")).isEqualTo(3); + + bookStore.remove("Potter"); + assertThat(bookStore.contains("Potter")).isTrue(); + assertThat(bookStore.count("Potter")).isEqualTo(2); + } + + @Test + public void givenMultiSet_whenSetCount_shouldReturnCorrectCount() { + Multiset bookStore = HashMultiset.create(); + bookStore.setCount("Potter", 50); //add 50 to the count + assertThat(bookStore.count("Potter")).isEqualTo(50); + } + + @Test + public void givenMultiSet_whenSettingNegativeCount_shouldThrowException() { + Multiset bookStore = HashMultiset.create(); + assertThatThrownBy(() -> bookStore.setCount("Potter", -1)).isInstanceOf(IllegalArgumentException.class); + } + + @Test + public void givenMultiSet_whenSettingCountWithOldCount_shouldReturnCorrectValue() { + Multiset bookStore = HashMultiset.create(); + assertThat(bookStore.setCount("Potter", 0, 2)).isTrue(); + assertThat(bookStore.setCount("Potter", 50, 5)).isFalse(); + } + + @Test + public void givenMap_compareMultiSetOperations() { + Map bookStore = new HashMap<>(); + bookStore.put("Potter", 1); + bookStore.put("Potter", 2); + bookStore.put("Potter", 3); + + assertThat(bookStore.containsKey("Potter")).isTrue(); + assertThat(bookStore.get("Potter")).isEqualTo(3); + + bookStore.put("Potter", null); + assertThat(bookStore.containsKey("Potter")).isTrue(); + + bookStore.put("Potter", -1); + assertThat(bookStore.containsKey("Potter")).isTrue(); + + bookStore.put("Potter", 2); + assertThat(bookStore.containsKey("Potter")).isTrue(); + assertThat(bookStore.get("Potter")).isEqualTo(2); + + bookStore.put("Potter", 52); + assertThat(bookStore.get("Potter")).isEqualTo(52); + } } From 45bf5898d5128b12ca2d5d3a1c3323dd0bf1dab9 Mon Sep 17 00:00:00 2001 From: Sushant Date: Sun, 31 Mar 2019 17:26:08 +0300 Subject: [PATCH 4/4] Remove comment --- .../org/baeldung/guava/GuavaMultiSetUnitTest.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java b/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java index b3f097cf9a..3d75cc38a3 100644 --- a/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java +++ b/guava-collections/src/test/java/org/baeldung/guava/GuavaMultiSetUnitTest.java @@ -30,7 +30,7 @@ public class GuavaMultiSetUnitTest { @Test public void givenMultiSet_whenSetCount_shouldReturnCorrectCount() { Multiset bookStore = HashMultiset.create(); - bookStore.setCount("Potter", 50); //add 50 to the count + bookStore.setCount("Potter", 50); assertThat(bookStore.count("Potter")).isEqualTo(50); } @@ -50,24 +50,18 @@ public class GuavaMultiSetUnitTest { @Test public void givenMap_compareMultiSetOperations() { Map bookStore = new HashMap<>(); - bookStore.put("Potter", 1); - bookStore.put("Potter", 2); bookStore.put("Potter", 3); assertThat(bookStore.containsKey("Potter")).isTrue(); assertThat(bookStore.get("Potter")).isEqualTo(3); + bookStore.put("Potter", 2); + assertThat(bookStore.get("Potter")).isEqualTo(2); + bookStore.put("Potter", null); assertThat(bookStore.containsKey("Potter")).isTrue(); bookStore.put("Potter", -1); assertThat(bookStore.containsKey("Potter")).isTrue(); - - bookStore.put("Potter", 2); - assertThat(bookStore.containsKey("Potter")).isTrue(); - assertThat(bookStore.get("Potter")).isEqualTo(2); - - bookStore.put("Potter", 52); - assertThat(bookStore.get("Potter")).isEqualTo(52); } }