From fbaad5e6488167e2456f673af63dbd3bda21c029 Mon Sep 17 00:00:00 2001 From: Partha-SUST16 Date: Sun, 8 Jun 2025 12:36:54 -0700 Subject: [PATCH 1/3] added missing functionality test for MultiKeyMap.put, MultiKeyMap.multiKeyMap, MultiKeyMap.removeAll --- .../collections4/map/MultiKeyMapTest.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/test/java/org/apache/commons/collections4/map/MultiKeyMapTest.java b/src/test/java/org/apache/commons/collections4/map/MultiKeyMapTest.java index 9c5238b3e5..5e128d814d 100644 --- a/src/test/java/org/apache/commons/collections4/map/MultiKeyMapTest.java +++ b/src/test/java/org/apache/commons/collections4/map/MultiKeyMapTest.java @@ -489,6 +489,45 @@ void testMultiKeyRemoveAll4() { } } + @Test + void testClassCastExceptionOnNonMultiKey() { + MultiKeyMap map = new MultiKeyMap<>(); + Object nonMultiKey = "test"; + assertThrows(ClassCastException.class, () -> map.put((MultiKey) nonMultiKey, "value")); + } + + @Test + void testMultiKeyMapNullMap() { + assertThrows(NullPointerException.class, () -> MultiKeyMap.multiKeyMap(null)); + } + + @Test + void testMultiKeyRemoveAll_ReturnsTrueWhenEntriesRemoved() { + resetFull(); + final MultiKeyMap multimap = getMap(); + assertEquals(12, multimap.size()); + + boolean result = multimap.removeAll(I1); + assertEquals(8, multimap.size()); + assertTrue(result); + + for (final MapIterator, V> it = multimap.mapIterator(); it.hasNext();) { + final MultiKey key = it.next(); + assertFalse(I1.equals(key.getKey(0))); + } + } + + @Test + void testMultiKeyRemoveAll_ReturnsFalseWhenNoEntriesRemoved() { + resetFull(); + MultiKeyMap multimap = getMap(); + assertEquals(12, multimap.size()); + + boolean result = multimap.removeAll(new Object()); + assertEquals(12, multimap.size()); + assertFalse(result); + } + @Test @SuppressWarnings("unchecked") void testNullHandling() { From beedb7e7c404ea0cb5c7c1283acdfd5a7f8c4f5e Mon Sep 17 00:00:00 2001 From: Partha-SUST16 Date: Sun, 8 Jun 2025 12:38:46 -0700 Subject: [PATCH 2/3] added missing functionality test for CircularFifoQueue.add, CircularFifoQueue.isEmpty --- .../queue/CircularFifoQueueTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/test/java/org/apache/commons/collections4/queue/CircularFifoQueueTest.java b/src/test/java/org/apache/commons/collections4/queue/CircularFifoQueueTest.java index 35340d6e27..3e2e0883dc 100644 --- a/src/test/java/org/apache/commons/collections4/queue/CircularFifoQueueTest.java +++ b/src/test/java/org/apache/commons/collections4/queue/CircularFifoQueueTest.java @@ -451,6 +451,26 @@ void testRepeatedSerialization() throws Exception { // writeExternalFormToDisk((java.io.Serializable) getCollection(), "src/test/resources/data/test/CircularFifoQueue.fullCollection.version4.obj"); // } + @Test + void testAddAlwaysReturnsTrue() { + final CircularFifoQueue queue = new CircularFifoQueue<>(3); + queue.add((E) "1"); + queue.add((E) "2"); + queue.add((E)"3"); + assertTrue(queue.add((E)"4")); + assertTrue(queue.add((E)"5")); + } + + @Test + void testIsEmpty() { + CircularFifoQueue queue = new CircularFifoQueue<>(10); + assertTrue(queue.isEmpty()); + queue.add("test"); + assertFalse(queue.isEmpty()); + queue.remove("test"); + assertTrue(queue.isEmpty()); + } + /** * Runs through the regular verifications, but also verifies that * the buffer contains the same elements in the same sequence as the From 97fbed4a5b316081315a99a5f33910eeec2ce22c Mon Sep 17 00:00:00 2001 From: Partha-SUST16 Date: Sun, 8 Jun 2025 13:16:38 -0700 Subject: [PATCH 3/3] made variables final and fixed styling issues --- .../commons/collections4/map/MultiKeyMapTest.java | 10 +++++----- .../collections4/queue/CircularFifoQueueTest.java | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/test/java/org/apache/commons/collections4/map/MultiKeyMapTest.java b/src/test/java/org/apache/commons/collections4/map/MultiKeyMapTest.java index 5e128d814d..c532dba3cf 100644 --- a/src/test/java/org/apache/commons/collections4/map/MultiKeyMapTest.java +++ b/src/test/java/org/apache/commons/collections4/map/MultiKeyMapTest.java @@ -491,8 +491,8 @@ void testMultiKeyRemoveAll4() { @Test void testClassCastExceptionOnNonMultiKey() { - MultiKeyMap map = new MultiKeyMap<>(); - Object nonMultiKey = "test"; + final MultiKeyMap map = new MultiKeyMap<>(); + final Object nonMultiKey = "test"; assertThrows(ClassCastException.class, () -> map.put((MultiKey) nonMultiKey, "value")); } @@ -507,7 +507,7 @@ void testMultiKeyRemoveAll_ReturnsTrueWhenEntriesRemoved() { final MultiKeyMap multimap = getMap(); assertEquals(12, multimap.size()); - boolean result = multimap.removeAll(I1); + final boolean result = multimap.removeAll(I1); assertEquals(8, multimap.size()); assertTrue(result); @@ -520,10 +520,10 @@ void testMultiKeyRemoveAll_ReturnsTrueWhenEntriesRemoved() { @Test void testMultiKeyRemoveAll_ReturnsFalseWhenNoEntriesRemoved() { resetFull(); - MultiKeyMap multimap = getMap(); + final MultiKeyMap multimap = getMap(); assertEquals(12, multimap.size()); - boolean result = multimap.removeAll(new Object()); + final boolean result = multimap.removeAll(new Object()); assertEquals(12, multimap.size()); assertFalse(result); } diff --git a/src/test/java/org/apache/commons/collections4/queue/CircularFifoQueueTest.java b/src/test/java/org/apache/commons/collections4/queue/CircularFifoQueueTest.java index 3e2e0883dc..b477bb4407 100644 --- a/src/test/java/org/apache/commons/collections4/queue/CircularFifoQueueTest.java +++ b/src/test/java/org/apache/commons/collections4/queue/CircularFifoQueueTest.java @@ -456,14 +456,14 @@ void testAddAlwaysReturnsTrue() { final CircularFifoQueue queue = new CircularFifoQueue<>(3); queue.add((E) "1"); queue.add((E) "2"); - queue.add((E)"3"); - assertTrue(queue.add((E)"4")); - assertTrue(queue.add((E)"5")); + queue.add((E) "3"); + assertTrue(queue.add((E) "4")); + assertTrue(queue.add((E) "5")); } @Test void testIsEmpty() { - CircularFifoQueue queue = new CircularFifoQueue<>(10); + final CircularFifoQueue queue = new CircularFifoQueue<>(10); assertTrue(queue.isEmpty()); queue.add("test"); assertFalse(queue.isEmpty());