1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.collections4.bidimap;
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.BidiMap;
27 import org.apache.commons.collections4.Unmodifiable;
28 import org.apache.commons.collections4.collection.AbstractCollectionTest;
29 import org.junit.jupiter.api.Test;
30
31
32
33
34
35
36
37 public class UnmodifiableBidiMapTest<K, V> extends AbstractBidiMapTest<K, V> {
38
39 @Override
40 protected int getIterationBehaviour() {
41 return AbstractCollectionTest.UNORDERED;
42 }
43
44 @Override
45 public boolean isPutAddSupported() {
46 return false;
47 }
48
49 @Override
50 public boolean isPutChangeSupported() {
51 return false;
52 }
53
54 @Override
55 public boolean isRemoveSupported() {
56 return false;
57 }
58
59 @Override
60 public Map<K, V> makeConfirmedMap() {
61 return new HashMap<>();
62 }
63
64 @Override
65 public BidiMap<K, V> makeFullMap() {
66 final BidiMap<K, V> bidi = new DualHashBidiMap<>();
67 addSampleMappings(bidi);
68 return UnmodifiableBidiMap.unmodifiableBidiMap(bidi);
69 }
70
71 @Override
72 public BidiMap<K, V> makeObject() {
73 return UnmodifiableBidiMap.unmodifiableBidiMap(new DualHashBidiMap<>());
74 }
75
76 @Test
77 public void testDecorateFactory() {
78 final BidiMap<K, V> map = makeFullMap();
79 assertSame(map, UnmodifiableBidiMap.unmodifiableBidiMap(map));
80
81 assertThrows(NullPointerException.class, () -> UnmodifiableBidiMap.unmodifiableBidiMap(null));
82 }
83
84 @Test
85 public void testUnmodifiable() {
86 assertTrue(makeObject() instanceof Unmodifiable);
87 assertTrue(makeFullMap() instanceof Unmodifiable);
88 }
89
90 }