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
35
36 public class UnmodifiableMapTest<K, V> extends AbstractIterableMapTest<K, V> {
37
38 @Override
39 public String getCompatibilityVersion() {
40 return "4";
41 }
42
43 @Override
44 public boolean isPutAddSupported() {
45 return false;
46 }
47
48 @Override
49 public boolean isPutChangeSupported() {
50 return false;
51 }
52
53 @Override
54 public boolean isRemoveSupported() {
55 return false;
56 }
57
58 @Override
59 public IterableMap<K, V> makeFullMap() {
60 final Map<K, V> m = new HashMap<>();
61 addSampleMappings(m);
62 return (IterableMap<K, V>) UnmodifiableMap.unmodifiableMap(m);
63 }
64
65 @Override
66 public IterableMap<K, V> makeObject() {
67 return (IterableMap<K, V>) UnmodifiableMap.unmodifiableMap(new HashMap<>());
68 }
69
70 @Test
71 public void testDecorateFactory() {
72 final Map<K, V> map = makeFullMap();
73 assertSame(map, UnmodifiableMap.unmodifiableMap(map));
74
75 assertThrows(NullPointerException.class, () -> UnmodifiableMap.unmodifiableMap(null));
76 }
77
78 @Test
79 public void testUnmodifiable() {
80 assertTrue(makeObject() instanceof Unmodifiable);
81 assertTrue(makeFullMap() instanceof Unmodifiable);
82 }
83
84
85
86
87
88
89
90
91
92
93
94
95 }