From 158ee510c85f0e90f2d4a435698649b261a9c372 Mon Sep 17 00:00:00 2001 From: alxkm Date: Fri, 18 Jul 2025 19:51:53 +0200 Subject: [PATCH 1/4] testing: improving DequeTest --- .../datastructures/queues/DequeTest.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java b/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java index 1244a2e260d2..4b3551ed86ac 100644 --- a/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java +++ b/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java @@ -3,6 +3,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.NoSuchElementException; import org.junit.jupiter.api.Test; @@ -50,7 +52,7 @@ void testPollLast() { @Test void testIsEmpty() { Deque deque = new Deque<>(); - org.junit.jupiter.api.Assertions.assertTrue(deque.isEmpty()); + assertTrue(deque.isEmpty()); deque.addFirst(10); assertFalse(deque.isEmpty()); } @@ -70,13 +72,13 @@ void testPeekLastEmpty() { @Test void testPollFirstEmpty() { Deque deque = new Deque<>(); - org.junit.jupiter.api.Assertions.assertThrows(NoSuchElementException.class, deque::pollFirst); + assertThrows(NoSuchElementException.class, deque::pollFirst); } @Test void testPollLastEmpty() { Deque deque = new Deque<>(); - org.junit.jupiter.api.Assertions.assertThrows(NoSuchElementException.class, deque::pollLast); + assertThrows(NoSuchElementException.class, deque::pollLast); } @Test @@ -87,4 +89,22 @@ void testToString() { deque.addFirst(5); assertEquals("Head -> 5 <-> 10 <-> 20 <- Tail", deque.toString()); } + + @Test + void testAlternatingAddRemove() { + Deque deque = new Deque<>(); + deque.addFirst(1); + deque.addLast(2); + deque.addFirst(0); + assertEquals(0, deque.pollFirst()); + assertEquals(2, deque.pollLast()); + assertEquals(1, deque.pollFirst()); + assertTrue(deque.isEmpty()); + } + + @Test + void testAddNull() { + Deque deque = new Deque<>(); + assertThrows(NullPointerException.class, () -> deque.addFirst(null)); + } } From f62bbc332aa5a03a7bf81f6d77d432ec0324569c Mon Sep 17 00:00:00 2001 From: alxkm Date: Fri, 18 Jul 2025 19:58:34 +0200 Subject: [PATCH 2/4] testing: redundant case --- .../com/thealgorithms/datastructures/queues/DequeTest.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java b/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java index 4b3551ed86ac..ec77b0c25507 100644 --- a/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java +++ b/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java @@ -101,10 +101,4 @@ void testAlternatingAddRemove() { assertEquals(1, deque.pollFirst()); assertTrue(deque.isEmpty()); } - - @Test - void testAddNull() { - Deque deque = new Deque<>(); - assertThrows(NullPointerException.class, () -> deque.addFirst(null)); - } } From d7f156187300fa31a67514c06cf0c883f4429074 Mon Sep 17 00:00:00 2001 From: alxkm Date: Fri, 18 Jul 2025 20:02:24 +0200 Subject: [PATCH 3/4] testing: fix to many static imports --- .../com/thealgorithms/datastructures/queues/DequeTest.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java b/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java index ec77b0c25507..26fef27ea4bc 100644 --- a/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java +++ b/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java @@ -1,10 +1,6 @@ package com.thealgorithms.datastructures.queues; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; import java.util.NoSuchElementException; import org.junit.jupiter.api.Test; From 37de6e80a66940c536d6e7dc5d6b3a7529427fc8 Mon Sep 17 00:00:00 2001 From: alxkm Date: Fri, 18 Jul 2025 20:10:11 +0200 Subject: [PATCH 4/4] testing: add more test cases --- .../datastructures/queues/DequeTest.java | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java b/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java index 26fef27ea4bc..34b1ea2e0277 100644 --- a/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java +++ b/src/test/java/com/thealgorithms/datastructures/queues/DequeTest.java @@ -1,6 +1,8 @@ package com.thealgorithms.datastructures.queues; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNull; import java.util.NoSuchElementException; import org.junit.jupiter.api.Test; @@ -48,7 +50,7 @@ void testPollLast() { @Test void testIsEmpty() { Deque deque = new Deque<>(); - assertTrue(deque.isEmpty()); + org.junit.jupiter.api.Assertions.assertTrue(deque.isEmpty()); deque.addFirst(10); assertFalse(deque.isEmpty()); } @@ -68,13 +70,13 @@ void testPeekLastEmpty() { @Test void testPollFirstEmpty() { Deque deque = new Deque<>(); - assertThrows(NoSuchElementException.class, deque::pollFirst); + org.junit.jupiter.api.Assertions.assertThrows(NoSuchElementException.class, deque::pollFirst); } @Test void testPollLastEmpty() { Deque deque = new Deque<>(); - assertThrows(NoSuchElementException.class, deque::pollLast); + org.junit.jupiter.api.Assertions.assertThrows(NoSuchElementException.class, deque::pollLast); } @Test @@ -95,6 +97,28 @@ void testAlternatingAddRemove() { assertEquals(0, deque.pollFirst()); assertEquals(2, deque.pollLast()); assertEquals(1, deque.pollFirst()); - assertTrue(deque.isEmpty()); + org.junit.jupiter.api.Assertions.assertTrue(deque.isEmpty()); + } + + @Test + void testSizeAfterOperations() { + Deque deque = new Deque<>(); + assertEquals(0, deque.size()); + deque.addFirst(1); + deque.addLast(2); + deque.addFirst(3); + assertEquals(3, deque.size()); + deque.pollFirst(); + deque.pollLast(); + assertEquals(1, deque.size()); + } + + @Test + void testNullValues() { + Deque deque = new Deque<>(); + deque.addFirst(null); + assertNull(deque.peekFirst()); + assertNull(deque.pollFirst()); + org.junit.jupiter.api.Assertions.assertTrue(deque.isEmpty()); } }