Content-Length: 428192 | pFad | http://github.com/alxkm/TheAlgorithmsJava/commit/92b3db1a219773bda55acc19c4616cc748f95a3d

34 testing: improve QueueByTwoStacksTest · alxkm/TheAlgorithmsJava@92b3db1 · GitHub
Skip to content

Commit 92b3db1

Browse files
committed
testing: improve QueueByTwoStacksTest
1 parent fc477ee commit 92b3db1

File tree

1 file changed

+77
-9
lines changed

1 file changed

+77
-9
lines changed

src/test/java/com/thealgorithms/datastructures/queues/QueueByTwoStacksTest.java

Lines changed: 77 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,19 @@ public void testDequeue() {
3333
queue.put(10);
3434
queue.put(20);
3535
queue.put(30);
36-
assertEquals(10, queue.get()); // First item out
37-
assertEquals(20, queue.get()); // Second item out
38-
assertEquals(30, queue.get()); // Third item out
36+
assertEquals(10, queue.get());
37+
assertEquals(20, queue.get());
38+
assertEquals(30, queue.get());
3939
}
4040

4141
@Test
4242
public void testInterleavedOperations() {
4343
queue.put(10);
4444
queue.put(20);
45-
assertEquals(10, queue.get()); // Dequeue first item
45+
assertEquals(10, queue.get());
4646
queue.put(30);
47-
assertEquals(20, queue.get()); // Dequeue second item
48-
assertEquals(30, queue.get()); // Dequeue third item
47+
assertEquals(20, queue.get());
48+
assertEquals(30, queue.get());
4949
}
5050

5151
@Test
@@ -62,8 +62,76 @@ public void testQueueSize() {
6262

6363
@Test
6464
public void testEmptyQueueException() {
65-
assertThrows(NoSuchElementException.class, () -> {
66-
queue.get(); // Attempting to dequeue from empty queue
67-
});
65+
assertThrows(NoSuchElementException.class, () -> queue.get());
66+
}
67+
68+
@Test
69+
public void testDequeueAllElements() {
70+
for (int i = 1; i <= 5; i++) {
71+
queue.put(i);
72+
}
73+
for (int i = 1; i <= 5; i++) {
74+
assertEquals(i, queue.get());
75+
}
76+
assertEquals(0, queue.size());
77+
}
78+
79+
@Test
80+
public void testLargeNumberOfOperations() {
81+
int n = 1000;
82+
for (int i = 0; i < n; i++) {
83+
queue.put(i);
84+
}
85+
for (int i = 0; i < n; i++) {
86+
assertEquals(i, queue.get());
87+
}
88+
assertEquals(0, queue.size());
89+
}
90+
91+
@Test
92+
public void testRefillDuringDequeue() {
93+
queue.put(1);
94+
queue.put(2);
95+
assertEquals(1, queue.get());
96+
queue.put(3);
97+
queue.put(4);
98+
assertEquals(2, queue.get());
99+
assertEquals(3, queue.get());
100+
assertEquals(4, queue.get());
101+
}
102+
103+
@Test
104+
public void testAlternatingPutAndGet() {
105+
queue.put(1);
106+
assertEquals(1, queue.get());
107+
queue.put(2);
108+
queue.put(3);
109+
assertEquals(2, queue.get());
110+
queue.put(4);
111+
assertEquals(3, queue.get());
112+
assertEquals(4, queue.get());
113+
}
114+
115+
@Test
116+
public void testSizeStability() {
117+
queue.put(100);
118+
int size1 = queue.size();
119+
int size2 = queue.size();
120+
assertEquals(size1, size2);
121+
}
122+
123+
@Test
124+
public void testMultipleEmptyDequeues() {
125+
assertThrows(NoSuchElementException.class, () -> queue.get());
126+
assertThrows(NoSuchElementException.class, () -> queue.get());
127+
}
128+
129+
@Test
130+
public void testQueueWithStrings() {
131+
QueueByTwoStacks<String> stringQueue = new QueueByTwoStacks<>();
132+
stringQueue.put("a");
133+
stringQueue.put("b");
134+
assertEquals("a", stringQueue.get());
135+
assertEquals("b", stringQueue.get());
68136
}
69137
}

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/alxkm/TheAlgorithmsJava/commit/92b3db1a219773bda55acc19c4616cc748f95a3d

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy