Skip to content

Commit ebdf90b

Browse files
Create ReverseQueueRecursionTest.java
Add ReverseQueueRecursionTest as required by CONTRIBUTING.md
1 parent 364ddc4 commit ebdf90b

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package com.thealgorithms.datastructures.queues;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
import static org.junit.jupiter.api.Assertions.assertTrue;
5+
6+
import java.util.LinkedList;
7+
import java.util.Queue;
8+
9+
import org.junit.jupiter.api.Test;
10+
11+
class ReverseQueueRecursionTest {
12+
13+
@Test
14+
void testReverseMultipleElements() {
15+
Queue<Integer> queue = new LinkedList<>();
16+
queue.add(1);
17+
queue.add(2);
18+
queue.add(3);
19+
queue.add(4);
20+
21+
ReverseQueueRecursion.reverseQueue(queue);
22+
23+
assertEquals(4, queue.poll());
24+
assertEquals(3, queue.poll());
25+
assertEquals(2, queue.poll());
26+
assertEquals(1, queue.poll());
27+
assertTrue(queue.isEmpty());
28+
}
29+
30+
@Test
31+
void testReverseSingleElement() {
32+
Queue<Integer> queue = new LinkedList<>();
33+
queue.add(42);
34+
35+
ReverseQueueRecursion.reverseQueue(queue);
36+
37+
assertEquals(42, queue.poll());
38+
assertTrue(queue.isEmpty());
39+
}
40+
41+
@Test
42+
void testReverseEmptyQueue() {
43+
Queue<Integer> queue = new LinkedList<>();
44+
45+
ReverseQueueRecursion.reverseQueue(queue);
46+
47+
assertTrue(queue.isEmpty());
48+
}
49+
50+
@Test
51+
void testReverseStringQueue() {
52+
Queue<String> queue = new LinkedList<>();
53+
queue.add("A");
54+
queue.add("B");
55+
queue.add("C");
56+
57+
ReverseQueueRecursion.reverseQueue(queue);
58+
59+
assertEquals("C", queue.poll());
60+
assertEquals("B", queue.poll());
61+
assertEquals("A", queue.poll());
62+
assertTrue(queue.isEmpty());
63+
}
64+
}

0 commit comments

Comments
 (0)