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 public UnmodifiableBagTest() {
37 super(UnmodifiableBagTest.class.getSimpleName());
38 }
39
40 @Override
41 public Bag<E> getCollection() {
42 return super.getCollection();
43 }
44
45 @Override
46 public String getCompatibilityVersion() {
47 return "4";
48 }
49
50 @Override
51 protected int getIterationBehaviour() {
52 return UNORDERED;
53 }
54
55 @Override
56 public boolean isAddSupported() {
57 return false;
58 }
59
60 @Override
61 public boolean isNullSupported() {
62 return false;
63 }
64
65 @Override
66 public boolean isRemoveSupported() {
67 return false;
68 }
69
70 @Override
71 public Bag<E> makeFullCollection() {
72 final Bag<E> bag = new HashBag<>();
73 bag.addAll(Arrays.asList(getFullElements()));
74 return UnmodifiableBag.unmodifiableBag(bag);
75 }
76
77 @Override
78 public Bag<E> makeObject() {
79 return UnmodifiableBag.unmodifiableBag(new HashBag<>());
80 }
81
82 @Test
83 public void testDecorateFactory() {
84 final Bag<E> queue = makeFullCollection();
85 assertSame(queue, UnmodifiableBag.unmodifiableBag(queue));
86
87 assertThrows(NullPointerException.class, () -> UnmodifiableBag.unmodifiableBag(null));
88 }
89
90 @Test
91 public void testUnmodifiable() {
92 assertTrue(makeObject() instanceof Unmodifiable);
93 assertTrue(makeFullCollection() instanceof Unmodifiable);
94 }
95
96
97
98
99
100
101
102
103 }