You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2024/09/28 14:17:15 UTC
(commons-collections) branch master updated: Better AbstractMapTest.testMapContainsValue()
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git
The following commit(s) were added to refs/heads/master by this push:
new 6d188523f Better AbstractMapTest.testMapContainsValue()
6d188523f is described below
commit 6d188523fb7acc9864e67959678187f5a09e365a
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sat Sep 28 10:17:09 2024 -0400
Better AbstractMapTest.testMapContainsValue()
Add TODO in DualTreeBidiMap2Test.isAllowNullValueGet()
---
.../collections4/bidimap/AbstractBidiMapTest.java | 10 ++++++++
.../AbstractOrderedBidiMapDecoratorTest.java | 7 +++++-
.../bidimap/AbstractSortedBidiMapTest.java | 7 +++++-
.../collections4/bidimap/DualTreeBidiMap2Test.java | 8 ++++++-
.../collections4/bidimap/TreeBidiMapTest.java | 7 +++++-
.../bidimap/UnmodifiableOrderedBidiMapTest.java | 7 +++++-
.../bidimap/UnmodifiableSortedBidiMapTest.java | 7 +++++-
.../commons/collections4/map/AbstractMapTest.java | 27 +++++++++++++++++++++-
.../collections4/map/AbstractSortedMapTest.java | 10 ++++++++
.../collections4/map/ReferenceIdentityMapTest.java | 7 +++++-
.../commons/collections4/map/ReferenceMapTest.java | 7 +++++-
11 files changed, 95 insertions(+), 9 deletions(-)
diff --git a/src/test/java/org/apache/commons/collections4/bidimap/AbstractBidiMapTest.java b/src/test/java/org/apache/commons/collections4/bidimap/AbstractBidiMapTest.java
index 71961f7b3..079884fe9 100644
--- a/src/test/java/org/apache/commons/collections4/bidimap/AbstractBidiMapTest.java
+++ b/src/test/java/org/apache/commons/collections4/bidimap/AbstractBidiMapTest.java
@@ -199,6 +199,16 @@ public abstract class AbstractBidiMapTest<K, V> extends AbstractIterableMapTest<
return main.isAllowNullValue();
}
+ @Override
+ public boolean isAllowNullValueGet() {
+ return main.isAllowNullValueGet();
+ }
+
+ @Override
+ public boolean isAllowNullValuePut() {
+ return main.isAllowNullValuePut();
+ }
+
@Override
public boolean isPutAddSupported() {
return main.isPutAddSupported();
diff --git a/src/test/java/org/apache/commons/collections4/bidimap/AbstractOrderedBidiMapDecoratorTest.java b/src/test/java/org/apache/commons/collections4/bidimap/AbstractOrderedBidiMapDecoratorTest.java
index b8d22a969..4f10c4324 100644
--- a/src/test/java/org/apache/commons/collections4/bidimap/AbstractOrderedBidiMapDecoratorTest.java
+++ b/src/test/java/org/apache/commons/collections4/bidimap/AbstractOrderedBidiMapDecoratorTest.java
@@ -65,7 +65,12 @@ public class AbstractOrderedBidiMapDecoratorTest<K, V>
}
@Override
- public boolean isAllowNullValue() {
+ public boolean isAllowNullValueGet() {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowNullValuePut() {
return false;
}
diff --git a/src/test/java/org/apache/commons/collections4/bidimap/AbstractSortedBidiMapTest.java b/src/test/java/org/apache/commons/collections4/bidimap/AbstractSortedBidiMapTest.java
index 61b2fd7f6..f11f8fc9c 100644
--- a/src/test/java/org/apache/commons/collections4/bidimap/AbstractSortedBidiMapTest.java
+++ b/src/test/java/org/apache/commons/collections4/bidimap/AbstractSortedBidiMapTest.java
@@ -94,7 +94,12 @@ public abstract class AbstractSortedBidiMapTest<K extends Comparable<K>, V exten
}
@Override
- public boolean isAllowNullValue() {
+ public boolean isAllowNullValueGet() {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowNullValuePut() {
return false;
}
diff --git a/src/test/java/org/apache/commons/collections4/bidimap/DualTreeBidiMap2Test.java b/src/test/java/org/apache/commons/collections4/bidimap/DualTreeBidiMap2Test.java
index 45890f11b..5329b861e 100644
--- a/src/test/java/org/apache/commons/collections4/bidimap/DualTreeBidiMap2Test.java
+++ b/src/test/java/org/apache/commons/collections4/bidimap/DualTreeBidiMap2Test.java
@@ -37,7 +37,7 @@ import org.apache.commons.collections4.comparators.ReverseComparator;
import org.junit.jupiter.api.Test;
/**
- * JUnit tests.
+ * Tests {@link DualTreeBidiMap}.
*/
@SuppressWarnings("boxing")
public class DualTreeBidiMap2Test<K extends Comparable<K>, V extends Comparable<V>> extends AbstractSortedBidiMapTest<K, V> {
@@ -69,6 +69,12 @@ public class DualTreeBidiMap2Test<K extends Comparable<K>, V extends Comparable<
return new String[] { recursiveTest };
}
+ @Override
+ public boolean isAllowNullValueGet() {
+ // TODO Is this a bug or a feature?
+ return true;
+ }
+
@Override
public TreeMap<K, V> makeConfirmedMap() {
return new TreeMap<>(new ReverseComparator<>(ComparableComparator.<K>comparableComparator()));
diff --git a/src/test/java/org/apache/commons/collections4/bidimap/TreeBidiMapTest.java b/src/test/java/org/apache/commons/collections4/bidimap/TreeBidiMapTest.java
index 9059f8854..17fa5ee12 100644
--- a/src/test/java/org/apache/commons/collections4/bidimap/TreeBidiMapTest.java
+++ b/src/test/java/org/apache/commons/collections4/bidimap/TreeBidiMapTest.java
@@ -48,7 +48,12 @@ public class TreeBidiMapTest<K extends Comparable<K>, V extends Comparable<V>> e
}
@Override
- public boolean isAllowNullValue() {
+ public boolean isAllowNullValueGet() {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowNullValuePut() {
return false;
}
diff --git a/src/test/java/org/apache/commons/collections4/bidimap/UnmodifiableOrderedBidiMapTest.java b/src/test/java/org/apache/commons/collections4/bidimap/UnmodifiableOrderedBidiMapTest.java
index 580b58843..882c60fb5 100644
--- a/src/test/java/org/apache/commons/collections4/bidimap/UnmodifiableOrderedBidiMapTest.java
+++ b/src/test/java/org/apache/commons/collections4/bidimap/UnmodifiableOrderedBidiMapTest.java
@@ -50,7 +50,12 @@ public class UnmodifiableOrderedBidiMapTest<K extends Comparable<K>, V extends C
}
@Override
- public boolean isAllowNullValue() {
+ public boolean isAllowNullValueGet() {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowNullValuePut() {
return false;
}
diff --git a/src/test/java/org/apache/commons/collections4/bidimap/UnmodifiableSortedBidiMapTest.java b/src/test/java/org/apache/commons/collections4/bidimap/UnmodifiableSortedBidiMapTest.java
index d2287d889..403b7a24d 100644
--- a/src/test/java/org/apache/commons/collections4/bidimap/UnmodifiableSortedBidiMapTest.java
+++ b/src/test/java/org/apache/commons/collections4/bidimap/UnmodifiableSortedBidiMapTest.java
@@ -48,7 +48,12 @@ public class UnmodifiableSortedBidiMapTest<K extends Comparable<K>, V extends Co
}
@Override
- public boolean isAllowNullValue() {
+ public boolean isAllowNullValueGet() {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowNullValuePut() {
return false;
}
diff --git a/src/test/java/org/apache/commons/collections4/map/AbstractMapTest.java b/src/test/java/org/apache/commons/collections4/map/AbstractMapTest.java
index 76bd9d0de..53682fe3e 100644
--- a/src/test/java/org/apache/commons/collections4/map/AbstractMapTest.java
+++ b/src/test/java/org/apache/commons/collections4/map/AbstractMapTest.java
@@ -718,8 +718,29 @@ public abstract class AbstractMapTest<K, V> extends AbstractObjectTest {
* Returns true if the maps produced by {@link #makeObject()} and {@link #makeFullMap()} supports null values.
* <p>
* Default implementation returns true. Override if your collection class does not support null values.
+ * </p>
*/
public boolean isAllowNullValue() {
+ return isAllowNullValueGet() && isAllowNullValuePut();
+ }
+
+ /**
+ * Returns true if the maps produced by {@link #makeObject()} and {@link #makeFullMap()} supports null values.
+ * <p>
+ * Default implementation returns true. Override if your collection class does not support null values.
+ * </p>
+ */
+ public boolean isAllowNullValueGet() {
+ return true;
+ }
+
+ /**
+ * Returns true if the maps produced by {@link #makeObject()} and {@link #makeFullMap()} supports null values.
+ * <p>
+ * Default implementation returns true. Override if your collection class does not support null values.
+ * </p>
+ */
+ public boolean isAllowNullValuePut() {
return true;
}
@@ -1637,8 +1658,12 @@ public abstract class AbstractMapTest<K, V> extends AbstractObjectTest {
@Test
public void testMapContainsValue() {
final Object[] values = getSampleValues();
-
resetEmpty();
+ if (isAllowNullValueGet()) {
+ assertFalse(getMap().containsValue(null));
+ } else {
+ assertThrows(NullPointerException.class, () -> getMap().containsValue(null));
+ }
for (final Object value : values) {
assertFalse(getMap().containsValue(value), "Empty map must not contain value");
}
diff --git a/src/test/java/org/apache/commons/collections4/map/AbstractSortedMapTest.java b/src/test/java/org/apache/commons/collections4/map/AbstractSortedMapTest.java
index 12770b531..311c9880a 100644
--- a/src/test/java/org/apache/commons/collections4/map/AbstractSortedMapTest.java
+++ b/src/test/java/org/apache/commons/collections4/map/AbstractSortedMapTest.java
@@ -267,6 +267,16 @@ public abstract class AbstractSortedMapTest<K, V> extends AbstractMapTest<K, V>
return main.isAllowNullValue();
}
+ @Override
+ public boolean isAllowNullValueGet() {
+ return main.isAllowNullValueGet();
+ }
+
+ @Override
+ public boolean isAllowNullValuePut() {
+ return main.isAllowNullValuePut();
+ }
+
@Override
public boolean isPutAddSupported() {
return main.isPutAddSupported();
diff --git a/src/test/java/org/apache/commons/collections4/map/ReferenceIdentityMapTest.java b/src/test/java/org/apache/commons/collections4/map/ReferenceIdentityMapTest.java
index 555928a6d..1a9f9f0d2 100644
--- a/src/test/java/org/apache/commons/collections4/map/ReferenceIdentityMapTest.java
+++ b/src/test/java/org/apache/commons/collections4/map/ReferenceIdentityMapTest.java
@@ -104,7 +104,12 @@ public class ReferenceIdentityMapTest<K, V> extends AbstractIterableMapTest<K, V
}
@Override
- public boolean isAllowNullValue() {
+ public boolean isAllowNullValueGet() {
+ return true;
+ }
+
+ @Override
+ public boolean isAllowNullValuePut() {
return false;
}
diff --git a/src/test/java/org/apache/commons/collections4/map/ReferenceMapTest.java b/src/test/java/org/apache/commons/collections4/map/ReferenceMapTest.java
index 345fceda1..0591cd3d0 100644
--- a/src/test/java/org/apache/commons/collections4/map/ReferenceMapTest.java
+++ b/src/test/java/org/apache/commons/collections4/map/ReferenceMapTest.java
@@ -238,7 +238,12 @@ public class ReferenceMapTest<K, V> extends AbstractIterableMapTest<K, V> {
}
@Override
- public boolean isAllowNullValue() {
+ public boolean isAllowNullValueGet() {
+ return true;
+ }
+
+ @Override
+ public boolean isAllowNullValuePut() {
return false;
}