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-lang.git

commit 9e4a50d4e4d5a8819cf0f2686b9d21d608948943
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu Sep 26 08:13:46 2024 -0400

    Refactor map test in PairTest
---
 .../org/apache/commons/lang3/tuple/PairTest.java   | 31 +++++++++++++++-------
 1 file changed, 21 insertions(+), 10 deletions(-)

diff --git a/src/test/java/org/apache/commons/lang3/tuple/PairTest.java 
b/src/test/java/org/apache/commons/lang3/tuple/PairTest.java
index 75e96550a..ec7e22cbe 100644
--- a/src/test/java/org/apache/commons/lang3/tuple/PairTest.java
+++ b/src/test/java/org/apache/commons/lang3/tuple/PairTest.java
@@ -26,18 +26,29 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 import java.util.Calendar;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.TreeMap;
+import java.util.WeakHashMap;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentSkipListMap;
+import java.util.stream.Stream;
 
 import org.apache.commons.lang3.AbstractLangTest;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
 
 /**
  * Test the Pair class.
  */
 public class PairTest extends AbstractLangTest {
 
+    public static Stream<Class<? extends Map>> mapClassFactory() {
+        return Stream.of(ConcurrentHashMap.class, ConcurrentSkipListMap.class, 
HashMap.class, TreeMap.class, WeakHashMap.class, LinkedHashMap.class);
+    }
+
     @Test
     public void testAccept() {
         final Pair<String, String> pair1 = Pair.of("A", "D");
@@ -128,6 +139,16 @@ public class PairTest extends AbstractLangTest {
         assertEquals("(Key,Value)", String.format("%1$s", pair));
     }
 
+    @ParameterizedTest()
+    @MethodSource("org.apache.commons.lang3.tuple.PairTest#mapClassFactory()")
+    public <K, V> void testMapEntries(final Class<Map<Integer, String>> clazz) 
throws InstantiationException, IllegalAccessException {
+        testMapEntry(clazz.newInstance());
+    }
+
+    public <K, V> void testMapEntries(final Map<Integer, String> map) {
+        testMapEntry(map);
+    }
+
     private void testMapEntry(final Map<Integer, String> map) {
         map.put(0, "foo");
         final Entry<Integer, String> entry = map.entrySet().iterator().next();
@@ -145,16 +166,6 @@ public class PairTest extends AbstractLangTest {
         });
     }
 
-    @Test
-    public void testMapEntryConcurrentHashMap() {
-        testMapEntry(new ConcurrentHashMap<>());
-    }
-
-    @Test
-    public void testMapEntryHashMap() {
-        testMapEntry(new HashMap<>());
-    }
-
     @Test
     public void testOfNonNull() {
         assertThrows(NullPointerException.class, () -> Pair.ofNonNull(null, 
null));

Reply via email to