Merge "Add more unit tests for Util.java"
diff --git a/src/main/java/com/googlesource/gerrit/plugins/findowners/Util.java b/src/main/java/com/googlesource/gerrit/plugins/findowners/Util.java
index 77eff7f..f75a5b5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/findowners/Util.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/findowners/Util.java
@@ -94,10 +94,19 @@
     return result;
   }
 
-  static void addToMap(Map<String, Set<String>> map, String key, String value) {
+  static void addKeyToMap(Map<String, Set<String>> map, String key) {
     if (map.get(key) == null) {
       map.put(key, new HashSet<>());
     }
+  }
+
+  static void addToMap(Map<String, Set<String>> map, String key, String value) {
+    addKeyToMap(map, key);
     map.get(key).add(value);
   }
+
+  static void addAllToMap(Map<String, Set<String>> map, String key, Set<String> values) {
+    addKeyToMap(map, key);
+    map.get(key).addAll(values);
+  }
 }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/findowners/UtilTest.java b/src/test/java/com/googlesource/gerrit/plugins/findowners/UtilTest.java
index 79f4187..1ddd4ec 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/findowners/UtilTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/findowners/UtilTest.java
@@ -175,6 +175,58 @@
   }
 
   @Test
+  public void addKeyToMapTest() {
+     Map<String, Set<String>> m = new HashMap<>();
+     String key1 = "key1";
+     String key2 = "key2";
+     assertThat(m).isEmpty();
+     Util.addKeyToMap(m, key1);
+     assertThat(m).hasSize(1);
+     assertThat(m.get(key1)).isEmpty();
+     Util.addKeyToMap(m, key1);
+     assertThat(m).hasSize(1);
+     assertThat(m.get(key1)).isEmpty();
+     Util.addKeyToMap(m, key2);
+     assertThat(m).hasSize(2);
+     assertThat(m.get(key1)).isEmpty();
+     assertThat(m.get(key2)).isEmpty();
+  }
+
+  @Test
+  public void addToMapTest() {
+     Map<String, Set<String>> m = new HashMap<>();
+     String key1 = "key1";
+     String key2 = "key2";
+     Util.addToMap(m, key1, "v1");
+     Util.addToMap(m, key2, "v2");
+     Util.addToMap(m, key2, "v3");
+     assertThat(m.get(key1)).containsExactly("v1");
+     assertThat(m.get(key2)).containsExactly("v2", "v3");
+  }
+
+  @Test
+  public void addAllToMapTest() {
+     Map<String, Set<String>> m = new HashMap<>();
+     Set<String> s = new HashSet<>();
+     String key = "key";
+     Util.addAllToMap(m, key, s);
+     assertThat(m.get(key)).isEmpty();
+     s.add("v1");
+     Util.addAllToMap(m, key, s);
+     assertThat(m.get(key)).containsExactly("v1");
+     Util.addAllToMap(m, key, s);
+     assertThat(m.get(key)).containsExactly("v1");
+     s.add("v2");
+     Util.addAllToMap(m, key, s);
+     assertThat(m.get(key)).containsExactly("v2", "v1");
+     Util.addAllToMap(m, key, s);
+     assertThat(m.get(key)).containsExactly("v2", "v1");
+     s.add("v3");
+     Util.addAllToMap(m, key, s);
+     assertThat(m.get(key)).containsExactly("v2", "v1", "v3");
+  }
+
+  @Test
   public void makeSortedMapTest() {
     // TODO: test Util.makeSortedMap
   }