1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.collections4.queue;
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 import java.util.Collection;
25 import java.util.LinkedList;
26 import java.util.Queue;
27
28 import org.apache.commons.collections4.Unmodifiable;
29 import org.apache.commons.collections4.collection.AbstractCollectionTest;
30 import org.junit.jupiter.api.Test;
31
32
33
34
35
36 public class UnmodifiableQueueTest<E> extends AbstractQueueTest<E> {
37
38 @Override
39 public Queue<E> getCollection() {
40 return super.getCollection();
41 }
42
43 @Override
44 public String getCompatibilityVersion() {
45 return "4";
46 }
47
48 @Override
49 public boolean isAddSupported() {
50 return false;
51 }
52
53 @Override
54 public boolean isNullSupported() {
55 return false;
56 }
57
58 @Override
59 public boolean isRemoveSupported() {
60 return false;
61 }
62
63 @Override
64 public Collection<E> makeConfirmedCollection() {
65 return new LinkedList<>();
66 }
67
68 @Override
69 public Collection<E> makeConfirmedFullCollection() {
70 return new LinkedList<>(Arrays.asList(getFullElements()));
71 }
72
73 @Override
74 public Queue<E> makeFullCollection() {
75 final Queue<E> queue = new LinkedList<>(Arrays.asList(getFullElements()));
76 return UnmodifiableQueue.unmodifiableQueue(queue);
77 }
78
79 @Override
80 public Queue<E> makeObject() {
81 return UnmodifiableQueue.unmodifiableQueue(new LinkedList<>());
82 }
83
84 @Test
85 public void testDecorateFactory() {
86 final Queue<E> queue = makeFullCollection();
87 assertSame(queue, UnmodifiableQueue.unmodifiableQueue(queue));
88
89 assertThrows(NullPointerException.class, () -> UnmodifiableQueue.unmodifiableQueue(null));
90 }
91
92 @Test
93 public void testOffer() {
94 final Queue<E> queue = makeFullCollection();
95 final E e = null;
96 assertThrows(UnsupportedOperationException.class, () -> queue.offer(e));
97 }
98
99 @Test
100 public void testPoll() {
101 final Queue<E> queue = makeFullCollection();
102 assertThrows(UnsupportedOperationException.class, () -> queue.poll());
103 }
104
105 @Test
106 @Override
107 public void testQueueRemove() {
108 resetEmpty();
109 assertThrows(UnsupportedOperationException.class, () -> getCollection().remove());
110 }
111
112 @Test
113 public void testUnmodifiable() {
114 assertTrue(makeObject() instanceof Unmodifiable);
115 assertTrue(makeFullCollection() instanceof Unmodifiable);
116 }
117
118
119
120
121
122
123
124
125 }