Skip to content

Commit 53b8d77

Browse files
committed
feat: house keeping
Signed-off-by: Marcos Tischer Vallim <[email protected]>
1 parent 3deca3f commit 53b8d77

File tree

1 file changed

+41
-43
lines changed

1 file changed

+41
-43
lines changed

amazon-sns-java-messaging-lib-template/src/test/java/com/amazon/sns/messaging/lib/concurrent/RingBufferBlockingQueueTest.java

Lines changed: 41 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -38,166 +38,164 @@
3838

3939
@SuppressWarnings({ "java:S2925", "java:S5778" })
4040
class RingBufferBlockingQueueTest {
41-
41+
4242
@Test
4343
void testSuccess() {
4444
final ExecutorService producer = Executors.newSingleThreadScheduledExecutor();
45-
45+
4646
final ScheduledExecutorService consumer = Executors.newSingleThreadScheduledExecutor();
47-
47+
4848
final List<RequestEntry<Integer>> requestEntriesOut = new LinkedList<>();
49-
49+
5050
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
51-
51+
5252
producer.submit(() -> {
5353
IntStream.range(0, 100_000).forEach(value -> {
5454
ringBlockingQueue.put(RequestEntry.<Integer>builder().withValue(value).build());
55-
System.err.println("write: " + ringBlockingQueue.writeSequence());
5655
});
5756
});
58-
57+
5958
consumer.scheduleAtFixedRate(() -> {
6059
while (!ringBlockingQueue.isEmpty()) {
6160
final List<RequestEntry<Integer>> requestEntries = new LinkedList<>();
62-
61+
6362
while ((requestEntries.size() < 10) && Objects.nonNull(ringBlockingQueue.peek())) {
6463
final RequestEntry<Integer> take = ringBlockingQueue.take();
65-
System.err.println("read: " + ringBlockingQueue.readSequence());
6664
requestEntries.add(take);
6765
}
68-
66+
6967
requestEntriesOut.addAll(requestEntries);
7068
}
7169
}, 0, 100L, TimeUnit.MILLISECONDS);
72-
70+
7371
await().pollInterval(5, TimeUnit.SECONDS).pollDelay(200, TimeUnit.MILLISECONDS).until(() -> {
7472
return (ringBlockingQueue.writeSequence() == 99_999) && (ringBlockingQueue.readSequence() == 100_000);
7573
});
76-
74+
7775
producer.shutdown();
7876
consumer.shutdown();
79-
77+
8078
assertThat(ringBlockingQueue.size(), is(0));
8179
assertThat(ringBlockingQueue.isEmpty(), is(true));
82-
80+
8381
assertThat(requestEntriesOut, hasSize(100_000));
8482
requestEntriesOut.sort((a, b) -> a.getValue() - b.getValue());
85-
83+
8684
for (int i = 0; i < 100_000; i++) {
8785
assertThat(requestEntriesOut.get(i).getValue(), is(i));
8886
}
8987
}
90-
88+
9189
@Test
9290
void testSuccessWhenIsEmpty() {
9391
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
94-
92+
9593
final ExecutorService producer = Executors.newSingleThreadExecutor();
96-
94+
9795
final ExecutorService consumer = Executors.newSingleThreadExecutor();
98-
96+
9997
consumer.submit(() -> {
10098
assertThat(ringBlockingQueue.take().getValue(), is(0));
10199
assertThat(ringBlockingQueue.take().getValue(), is(1));
102100
});
103-
101+
104102
await().pollDelay(2, TimeUnit.SECONDS).until(() -> true);
105-
103+
106104
producer.submit(() -> {
107105
ringBlockingQueue.put(RequestEntry.<Integer>builder().withValue(0).build());
108106
ringBlockingQueue.put(RequestEntry.<Integer>builder().withValue(1).build());
109107
});
110-
108+
111109
await().atMost(1, TimeUnit.MINUTES).until(() -> ringBlockingQueue.writeSequence() == 1);
112110
producer.shutdownNow();
113-
111+
114112
await().atMost(1, TimeUnit.MINUTES).until(() -> ringBlockingQueue.readSequence() == 2);
115113
consumer.shutdownNow();
116-
114+
117115
assertThat(ringBlockingQueue.isEmpty(), is(true));
118116
}
119-
117+
120118
@Test
121119
void testSuccessWhenIsFull() {
122120
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>(1);
123-
121+
124122
final ExecutorService producer = Executors.newSingleThreadExecutor();
125-
123+
126124
final ExecutorService consumer = Executors.newSingleThreadExecutor();
127-
125+
128126
producer.submit(() -> {
129127
ringBlockingQueue.put(RequestEntry.<Integer>builder().withValue(0).build());
130128
ringBlockingQueue.put(RequestEntry.<Integer>builder().withValue(1).build());
131129
});
132-
130+
133131
await().pollDelay(2, TimeUnit.SECONDS).until(() -> true);
134-
132+
135133
consumer.submit(() -> {
136134
assertThat(ringBlockingQueue.take().getValue(), is(0));
137135
assertThat(ringBlockingQueue.take().getValue(), is(1));
138136
});
139-
137+
140138
await().atMost(1, TimeUnit.MINUTES).until(() -> ringBlockingQueue.writeSequence() == 1);
141139
producer.shutdownNow();
142-
140+
143141
await().atMost(1, TimeUnit.MINUTES).until(() -> ringBlockingQueue.readSequence() == 2);
144142
consumer.shutdownNow();
145-
143+
146144
assertThat(ringBlockingQueue.isEmpty(), is(true));
147145
}
148-
146+
149147
@Test
150148
void testFailOffer() {
151149
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
152150
assertThrows(UnsupportedOperationException.class, () -> ringBlockingQueue.offer(RequestEntry.<Integer>builder().withValue(0).build()));
153151
}
154-
152+
155153
@Test
156154
void testFailOfferWithParams() {
157155
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
158156
assertThrows(UnsupportedOperationException.class, () -> ringBlockingQueue.offer(RequestEntry.<Integer>builder().withValue(0).build(), 1, TimeUnit.MILLISECONDS));
159157
}
160-
158+
161159
@Test
162160
void testFailPoll() {
163161
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
164162
assertThrows(UnsupportedOperationException.class, ringBlockingQueue::poll);
165163
}
166-
164+
167165
@Test
168166
void testFailPollWithParams() {
169167
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
170168
assertThrows(UnsupportedOperationException.class, () -> ringBlockingQueue.poll(1, TimeUnit.MILLISECONDS));
171169
}
172-
170+
173171
@Test
174172
void testFailIterator() {
175173
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
176174
assertThrows(UnsupportedOperationException.class, ringBlockingQueue::iterator);
177175
}
178-
176+
179177
@Test
180178
void testFailAdd() {
181179
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
182180
assertThrows(UnsupportedOperationException.class, () -> ringBlockingQueue.add(RequestEntry.<Integer>builder().withValue(0).build()));
183181
}
184-
182+
185183
@Test
186184
void testFailRemainingCapacity() {
187185
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
188186
assertThrows(UnsupportedOperationException.class, ringBlockingQueue::remainingCapacity);
189187
}
190-
188+
191189
@Test
192190
void testFailDrainTo() {
193191
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
194192
assertThrows(UnsupportedOperationException.class, () -> ringBlockingQueue.drainTo(Collections.emptyList()));
195193
}
196-
194+
197195
@Test
198196
void testFailDrainToWithParams() {
199197
final RingBufferBlockingQueue<RequestEntry<Integer>> ringBlockingQueue = new RingBufferBlockingQueue<>();
200198
assertThrows(UnsupportedOperationException.class, () -> ringBlockingQueue.drainTo(Collections.emptyList(), 1));
201199
}
202-
200+
203201
}

0 commit comments

Comments
 (0)