View Javadoc
1   package com.github.davidmoten.guavamini;
2   
3   import static org.junit.Assert.assertEquals;
4   import static org.junit.Assert.assertTrue;
5   
6   import java.util.HashMap;
7   import java.util.LinkedHashMap;
8   import java.util.Map;
9   import java.util.TreeMap;
10  
11  import org.junit.Test;
12  
13  import com.github.davidmoten.junit.Asserts;
14  
15  public class MapsTest {
16  
17      @Test
18      public void isUtilityClass() {
19          Asserts.assertIsUtilityClass(Maps.class);
20      }
21  
22      @Test
23      public void testHashMapSize1() {
24          Map<Integer, String> map = Maps.put(1, "hi").build();
25          assertEquals("hi", map.get(1));
26          assertEquals(1, map.size());
27          assertTrue(map instanceof HashMap);
28      }
29  
30      @Test
31      public void testHashMapSize2() {
32          Map<Integer, String> map = Maps.put(1, "hi").put(2, "there").build();
33          assertEquals("hi", map.get(1));
34          assertEquals("there", map.get(2));
35          assertEquals(2, map.size());
36      }
37  
38      @Test
39      public void testHashMapEmpty() {
40          Map<Integer, String> map = Maps.empty();
41          assertTrue(map.isEmpty());
42      }
43  
44      @Test(expected = UnsupportedOperationException.class)
45      public void testHashMapImmutable() {
46          Map<Integer, String> map = Maps.put(1, "hi").buildImmutable();
47          assertEquals("hi", map.get(1));
48          assertEquals(1, map.size());
49          map.put(2, "there");
50      }
51  
52      @Test
53      public void testHashMapWithInitialSize() {
54          Map<Integer, String> map = Maps.hashMap().initialSize(4).put(1, "hi").build();
55          assertEquals("hi", map.get(1));
56          assertEquals(1, map.size());
57          assertTrue(map instanceof HashMap);
58      }
59  
60      @Test
61      public void testCustomMapWithInitialSize() {
62          Map<Integer, String> map = Maps.factory(size -> new HashMap<Object, Object>(size))
63                  .initialSize(4).put(1, "hi").build();
64          assertEquals("hi", map.get(1));
65          assertEquals(1, map.size());
66          assertTrue(map instanceof HashMap);
67      }
68  
69      @Test
70      public void testTreeMapSize1() {
71          Map<Integer, String> map = Maps.treeMap().put(1, "hi").build();
72          assertEquals("hi", map.get(1));
73          assertEquals(1, map.size());
74          assertTrue(map instanceof TreeMap);
75      }
76  
77      @Test
78      public void testLinkedHashMapMapSize1() {
79          Map<Integer, String> map = Maps.linkedHashMap().put(1, "hi").build();
80          assertEquals("hi", map.get(1));
81          assertEquals(1, map.size());
82          assertTrue(map instanceof LinkedHashMap);
83      }
84  
85      @Test(expected = IllegalArgumentException.class)
86      public void testMapWithInitialSizeInvalid() {
87          Maps.hashMap().initialSize(0);
88      }
89  
90  }