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