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 @Override
38 public String getCompatibilityVersion() {
39 return "4";
40 }
41
42 @Override
43 public boolean isAddSupported() {
44 return false;
45 }
46
47 @Override
48 public boolean isRemoveSupported() {
49 return false;
50 }
51
52 @Override
53 public Collection<E> makeConfirmedCollection() {
54 return new ArrayList<>();
55 }
56
57 @Override
58 public Collection<E> makeConfirmedFullCollection() {
59 return new ArrayList<>(Arrays.asList(getFullElements()));
60 }
61
62 @Override
63 public Collection<E> makeFullCollection() {
64 final List<E> list = new ArrayList<>(Arrays.asList(getFullElements()));
65 return UnmodifiableCollection.unmodifiableCollection(list);
66 }
67
68 @Override
69 public Collection<E> makeObject() {
70 return UnmodifiableCollection.unmodifiableCollection(new ArrayList<>());
71 }
72
73 @Test
74 public void testDecorateFactory() {
75 final Collection<E> coll = makeFullCollection();
76 assertSame(coll, UnmodifiableCollection.unmodifiableCollection(coll));
77
78 assertThrows(NullPointerException.class, () -> UnmodifiableCollection.unmodifiableCollection(null));
79 }
80
81 @Test
82 public void testUnmodifiable() {
83 assertTrue(makeObject() instanceof Unmodifiable);
84 assertTrue(makeFullCollection() instanceof Unmodifiable);
85 }
86
87
88
89
90
91
92
93
94 }