1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.collections4.map;
18
19 import static org.junit.jupiter.api.Assertions.assertSame;
20 import static org.junit.jupiter.api.Assertions.assertThrows;
21 import static org.junit.jupiter.api.Assertions.assertTrue;
22
23 import java.util.HashMap;
24 import java.util.Map;
25
26 import org.apache.commons.collections4.IterableMap;
27 import org.apache.commons.collections4.Unmodifiable;
28 import org.junit.jupiter.api.Test;
29
30
31
32
33
34 public class UnmodifiableMapTest<K, V> extends AbstractIterableMapTest<K, V> {
35
36 public UnmodifiableMapTest() {
37 super(UnmodifiableMapTest.class.getSimpleName());
38 }
39
40 @Override
41 public String getCompatibilityVersion() {
42 return "4";
43 }
44
45 @Override
46 public boolean isPutAddSupported() {
47 return false;
48 }
49
50 @Override
51 public boolean isPutChangeSupported() {
52 return false;
53 }
54
55 @Override
56 public boolean isRemoveSupported() {
57 return false;
58 }
59
60 @Override
61 public IterableMap<K, V> makeFullMap() {
62 final Map<K, V> m = new HashMap<>();
63 addSampleMappings(m);
64 return (IterableMap<K, V>) UnmodifiableMap.unmodifiableMap(m);
65 }
66
67 @Override
68 public IterableMap<K, V> makeObject() {
69 return (IterableMap<K, V>) UnmodifiableMap.unmodifiableMap(new HashMap<>());
70 }
71
72 @Test
73 public void testDecorateFactory() {
74 final Map<K, V> map = makeFullMap();
75 assertSame(map, UnmodifiableMap.unmodifiableMap(map));
76
77 assertThrows(NullPointerException.class, () -> UnmodifiableMap.unmodifiableMap(null));
78 }
79
80 @Test
81 public void testUnmodifiable() {
82 assertTrue(makeObject() instanceof Unmodifiable);
83 assertTrue(makeFullMap() instanceof Unmodifiable);
84 }
85
86
87
88
89
90
91
92
93
94
95
96
97 }