re base code
[sdc.git] / catalog-dao / src / test / java / org / openecomp / sdc / be / dao / utils / MapUtilTest.java
index ed2f313..1f85a29 100644 (file)
@@ -1,17 +1,48 @@
 package org.openecomp.sdc.be.dao.utils;
 
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import com.google.common.collect.ImmutableMap;
+import org.junit.Test;
+
+import java.util.*;
 import java.util.function.Function;
 
-import org.junit.Test;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.openecomp.sdc.be.dao.utils.MapUtil.mergeMaps;
 
 public class MapUtilTest {
 
-       @Test
+    @Test
+    public void mergeMaps_whenBothMapsAreNull_returnEmptyMap() {
+        assertThat(mergeMaps(null, null)).isEmpty();
+    }
+
+    @Test
+    public void mergeMaps_whenFirstMapIsNull_returnSecondMap() {
+        ImmutableMap<String, String> second = ImmutableMap.of("a", "b", "c", "d");
+        assertThat(mergeMaps(null, second))
+                .isNotSameAs(second)
+                .containsAllEntriesOf(second);
+    }
+
+    @Test
+    public void mergeMaps_whenSecondMapsIsNull_returnFirstMap() {
+        ImmutableMap<String, String> first = ImmutableMap.of("a", "b", "c", "d");
+        assertThat(mergeMaps(first, null))
+                .isNotSameAs(first)
+                .containsAllEntriesOf(first);
+    }
+
+    @Test
+    public void mergeMaps_avoidDuplications_takeValFromFirstMap() {
+        ImmutableMap<String, String> first = ImmutableMap.of("key1", "val1", "key2", "val2");
+        ImmutableMap<String, String> second = ImmutableMap.of("key1", "val11", "key3", "val3");
+        assertThat(mergeMaps(first, second))
+                .containsEntry("key1", "val1")
+                .containsEntry("key2", "val2")
+                .containsEntry("key3", "val3");
+     }
+       @Test
        public void testGet() throws Exception {
                Map<String, ? extends Object> map = null;
                String path = "";
@@ -67,43 +98,30 @@ public class MapUtilTest {
 
        @Test
        public void testNewHashMap() throws Exception {
-               String[] keys = new String[] { "mock" };
-               String[] values = new String[] { "mock" };
+        final String[] keys1 = new String[] { "mock" };
+        final String[] values1 = new String[] { "mock" };
                Map<String, String> result;
 
                // test 1
-               result = MapUtil.newHashMap(keys, values);
-               //Assert.assertEquals(null, result);
+               result = MapUtil.newHashMap(keys1, values1);
 
                // test 2
-               keys = new String[] { "mock" };
-               values = null;
-               try {
-                       result = MapUtil.newHashMap(keys, values);
-               } catch (Exception e) {
-                       // TODO Auto-generated catch block
-                       e.printStackTrace();
-               }
+        final String[] keys2 = new String[] { "mock" };
+        final String[] values2 = null;
+        assertThatThrownBy(() -> MapUtil.newHashMap(keys2, values2))
+                    .isInstanceOf(IllegalArgumentException.class);
 
                // test 3
-               values = null;
-               keys = null;
-               try {
-                       result = MapUtil.newHashMap(keys, values);
-               } catch (Exception e) {
-                       // TODO Auto-generated catch block
-                       e.printStackTrace();
-               }
-               //Assert.assertEquals(null, result);
+        final String[] keys3 = null;
+        final String[] values3 = null;
+        assertThatThrownBy(() -> MapUtil.newHashMap(keys3, values3))
+                .isInstanceOf(IllegalArgumentException.class);
 
                // test 4
-               values = new String[] { "mock" };
-               keys = null;
-               try {
-                       result = MapUtil.newHashMap(keys, values);
-               } catch (Exception e) {
-                       // TODO Auto-generated catch block
-                       e.printStackTrace();
-               }
+               final String[] values4 = new String[] { "mock" };
+               final String[] keys4 = null;
+               assertThatThrownBy(() -> MapUtil.newHashMap(keys4, values4))
+                                       .isInstanceOf(IllegalArgumentException.class);
+
        }
 }
\ No newline at end of file