1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.collections4.collection;
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.ArrayList;
24 import java.util.Arrays;
25 import java.util.Collection;
26 import java.util.List;
27
28 import org.apache.commons.collections4.Unmodifiable;
29 import org.junit.jupiter.api.Test;
30
31
32
33
34
35 public class UnmodifiableCollectionTest<E> extends AbstractCollectionTest<E> {
36
37 public UnmodifiableCollectionTest() {
38 super(UnmodifiableCollectionTest.class.getSimpleName());
39 }
40
41 @Override
42 public String getCompatibilityVersion() {
43 return "4";
44 }
45
46 @Override
47 public boolean isAddSupported() {
48 return false;
49 }
50
51 @Override
52 public boolean isRemoveSupported() {
53 return false;
54 }
55
56 @Override
57 public Collection<E> makeConfirmedCollection() {
58 return new ArrayList<>();
59 }
60
61 @Override
62 public Collection<E> makeConfirmedFullCollection() {
63 return new ArrayList<>(Arrays.asList(getFullElements()));
64 }
65
66 @Override
67 public Collection<E> makeFullCollection() {
68 final List<E> list = new ArrayList<>(Arrays.asList(getFullElements()));
69 return UnmodifiableCollection.unmodifiableCollection(list);
70 }
71
72 @Override
73 public Collection<E> makeObject() {
74 return UnmodifiableCollection.unmodifiableCollection(new ArrayList<>());
75 }
76
77 @Test
78 public void testDecorateFactory() {
79 final Collection<E> coll = makeFullCollection();
80 assertSame(coll, UnmodifiableCollection.unmodifiableCollection(coll));
81
82 assertThrows(NullPointerException.class, () -> UnmodifiableCollection.unmodifiableCollection(null));
83 }
84
85 @Test
86 public void testUnmodifiable() {
87 assertTrue(makeObject() instanceof Unmodifiable);
88 assertTrue(makeFullCollection() instanceof Unmodifiable);
89 }
90
91
92
93
94
95
96
97
98 }