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 <garydgreg...@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; }