This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 17cb643ca Test modernization
17cb643ca is described below

commit 17cb643cae72f97a27e07504b53cefc7b925b5df
Author: James Bognar <[email protected]>
AuthorDate: Fri Aug 29 17:35:07 2025 -0400

    Test modernization
---
 .../src/test/java/org/apache/juneau/TestUtils.java | 53 ++++++++++------
 .../dto/swagger/ExternalDocumentation_Test.java    |  2 +-
 .../apache/juneau/dto/swagger/HeaderInfo_Test.java |  4 +-
 .../org/apache/juneau/dto/swagger/Info_Test.java   |  2 +-
 .../apache/juneau/dto/swagger/License_Test.java    |  2 +-
 .../apache/juneau/dto/swagger/Operation_Test.java  | 14 ++--
 .../juneau/dto/swagger/ResponseInfo_Test.java      | 12 ++--
 .../juneau/dto/swagger/SecurityScheme_Test.java    |  4 +-
 .../org/apache/juneau/dto/swagger/Tag_Test.java    |  2 +-
 .../org/apache/juneau/dto/swagger/Xml_Test.java    |  2 +-
 .../apache/juneau/http/header/HeaderList_Test.java |  2 +-
 .../juneau/http/remote/RrpcInterface_Test.java     | 74 +++++++++++-----------
 .../apache/juneau/transform/AutoMapSwapTest.java   |  6 +-
 .../juneau/transform/AutoObjectSwapTest.java       |  4 +-
 .../org/apache/juneau/utils/StringUtils_Test.java  |  2 +-
 15 files changed, 102 insertions(+), 83 deletions(-)

diff --git a/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java 
b/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
index 086076bc7..9d92901c2 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
@@ -15,6 +15,7 @@ package org.apache.juneau;
 import static java.util.Optional.*;
 import static java.util.stream.Collectors.*;
 import static org.junit.jupiter.api.Assertions.*;
+import static java.lang.Integer.*;
 
 import java.io.*;
 import java.lang.reflect.*;
@@ -240,7 +241,7 @@ public class TestUtils extends Utils2 {
                assertArgNotNull("bean", bean);
                assertArgNotNull("fields", fields);
                assertArgNotNull("value", value);
-               assertEquals(value, splitNested(fields).stream().map(x -> 
getReadableEntry(bean, x)).collect(joining(",")));
+               assertEquals(value, splitNested(fields).stream().map(x -> 
getEntry(bean, x)).collect(joining(",")));
        }
 
        /**
@@ -303,7 +304,7 @@ public class TestUtils extends Utils2 {
                var r = 0;
                var f = splitNested(fields);
                for (var o : listOfBeans) {
-                       var actual = f.stream().map(x -> getReadableEntry(o, 
x)).collect(joining(","));
+                       var actual = f.stream().map(x -> getEntry(o, 
x)).collect(joining(","));
                        var r2 = r+1;
                        assertEquals(r(values[r]), actual, fs("Object at row 
{0} didn't match.", r2));
                        r++;
@@ -395,11 +396,19 @@ public class TestUtils extends Utils2 {
         * Asserts an object matches the expected string after it's been made 
{@link Utils#r readable}.
         */
        public static void assertContains(String expected, Object actual) {
+               assertArgNotNull("expected", expected);
                var a2 = r(actual);
                assertTrue(a2.contains(expected), fs("String did not contain 
expected substring.  expected={0}, actual={1}", expected, a2));
        }
 
+       /**
+        * Similar to {@link #assertContains(String, Object)} but allows the 
expected to be a comma-delimited list of strings that
+        * all must match.
+        * @param expected
+        * @param actual
+        */
        public static void assertContainsAll(String expected, Object actual) {
+               assertArgNotNull("expected", expected);
                var a2 = r(actual);
                for (var e : splita(expected))
                        assertTrue(a2.contains(e), fs("String did not contain 
expected substring.  expected={0}, actual={1}", e, a2));
@@ -527,8 +536,9 @@ public class TestUtils extends Utils2 {
 
        /**
         * Asserts the entries in a map matches the expected strings after 
they've been made {@link Utils#r readable}.
+        * Can be used in cases where the map contains non-string keys.
         */
-       public static void assertMap(Map<?,?> map, String...expected) {
+       public static void assertMapPairs(Map<?,?> map, String...expected) {
                assertList(map.entrySet().stream().map(x -> r(x.getKey()) + "=" 
+ r(x.getValue())).toList(), (Object[])expected);
        }
 
@@ -583,9 +593,14 @@ public class TestUtils extends Utils2 {
         * @throws AssertionError if any map values don't match expected values
         * @see #assertBean(Object, String, String)
         */
-       public static void assertMap(Map<?,?> o, String fields, String value) {
+       public static void assertMap(Map<String,?> o, String fields, String 
value) {
                if (o == null) throw new NullPointerException("Map was null");
-               assertEquals(value, splitNested(fields).stream().map(x -> 
getReadableEntry(o, x)).collect(joining(",")));
+               assertEquals(value, splitNested(fields).stream().map(x -> 
getEntry(o, x)).collect(joining(",")));
+       }
+
+       public static <K> void assertMap(Map<K,?> o, Function<String,K> 
keyGenerator, String fields, String value) {
+               if (o == null) throw new NullPointerException("Map was null");
+               assertEquals(value, splitNested(fields).stream().map(x -> 
getEntry(o, x)).collect(joining(",")));
        }
 
        /**
@@ -970,28 +985,28 @@ public class TestUtils extends Utils2 {
                });
        }
 
-       @SuppressWarnings("unchecked")
-       private static Object getEntry(Object o, String name) {
-               if (o instanceof List o2) return isNumeric(name) ? 
o2.get(Integer.parseInt(name)) : getBeanProp(o, name);
-               if (o.getClass().isArray()) return isNumeric(name) ? 
Array.get(o, Integer.parseInt(name)) : getBeanProp(o, name);
-               if (o instanceof Map o2) return 
opt(o2.get(name)).orElse(name.equals("class") ? o.getClass() : null);
-               if (o instanceof Iterable o2) return isNumeric(name) ? 
toList(o2).get(Integer.parseInt(name)) : getBeanProp(o, name);
-               if (o instanceof Iterator o2) return isNumeric(name) ? 
toList(o2).get(Integer.parseInt(name)) : getBeanProp(o, name);
-               if (o instanceof Enumeration o2) return isNumeric(name) ? 
toList(o2).get(Integer.parseInt(name)) : getBeanProp(o, name);
-               return getBeanProp(o, name);
-       }
-
        static String getMessages(Throwable t) {
                return Stream.iterate(t, Throwable::getCause).takeWhile(e -> e 
!= null).map(Throwable::getMessage).collect(joining("\n"));
        }
 
-       private static String getReadableEntry(Object o, String name) {
+       private static String getEntry(Object o, String name) {
                var i = name.indexOf("{");
                var pn = i == -1 ? name : name.substring(0, i);
                var spn = i == -1 ? null : splitNestedInner(name);
-               var e = getEntry(o, pn);
+               var e = getEntry2(o, pn);
                if (spn == null || e == null) return r(e);
-               return spn.stream().map(x -> getReadableEntry(e, 
x)).collect(joining(",","{","}"));
+               return spn.stream().map(x -> getEntry(e, 
x)).collect(joining(",","{","}"));
+       }
+
+       @SuppressWarnings("unchecked")
+       private static Object getEntry2(Object o, String name) {
+               if (o instanceof List o2) return isNumeric(name) ? 
o2.get(parseInt(name)) : getBeanProp(o, name);
+               if (o.getClass().isArray()) return isNumeric(name) ? 
Array.get(o, parseInt(name)) : getBeanProp(o, name);
+               if (o instanceof Map o2) return 
opt(o2.get(eq("<<<NULL>>>",name) ? null : name)).orElse(name.equals("class") ? 
o.getClass() : null);
+               if (o instanceof Iterable o2) return isNumeric(name) ? 
toList(o2).get(parseInt(name)) : getBeanProp(o, name);
+               if (o instanceof Iterator o2) return isNumeric(name) ? 
toList(o2).get(parseInt(name)) : getBeanProp(o, name);
+               if (o instanceof Enumeration o2) return isNumeric(name) ? 
toList(o2).get(parseInt(name)) : getBeanProp(o, name);
+               return getBeanProp(o, name);
        }
 
        /**
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ExternalDocumentation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ExternalDocumentation_Test.java
index 667d0de23..8d1c5cb1c 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ExternalDocumentation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ExternalDocumentation_Test.java
@@ -95,7 +95,7 @@ class ExternalDocumentation_Test extends SimpleTestBase {
        @Test void b03_keySet() {
                var t = new ExternalDocumentation();
 
-               assertSet(t.keySet());
+               assertEmpty(t.keySet());
 
                t
                        .set("description", "foo")
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/HeaderInfo_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/HeaderInfo_Test.java
index bfc862a1a..12f1917a1 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/HeaderInfo_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/HeaderInfo_Test.java
@@ -55,7 +55,7 @@ class HeaderInfo_Test extends SimpleTestBase {
                assertEquals(123f, t.setMaximum(123f).getMaximum());
                assertEquals(123f, t.setMinimum(123f).getMinimum());
                assertNull(t.setPattern(null).getPattern());
-               assertSet(t.setEnum(set()).getEnum());
+               assertEmpty(t.setEnum(set()).getEnum());
                assertSet(t.setEnum("foo","bar").getEnum(), "foo,bar");
                assertNull(t.setEnum((Set<Object>)null).getEnum());
                assertSet(t.addEnum("foo","bar").getEnum(), "foo,bar");
@@ -201,7 +201,7 @@ class HeaderInfo_Test extends SimpleTestBase {
        @Test void b03_keySet() {
                var t = new HeaderInfo();
 
-               assertSet(t.keySet());
+               assertEmpty(t.keySet());
 
                t
                        .set("default", "a")
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Info_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Info_Test.java
index cf2dd32d7..664b9f8e1 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Info_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Info_Test.java
@@ -138,7 +138,7 @@ class Info_Test extends SimpleTestBase {
        @Test void b03_keySet() {
                var t = new Info();
 
-               assertSet(t.keySet());
+               assertEmpty(t.keySet());
 
                t
                        .set("contact", contact("a"))
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/License_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/License_Test.java
index 2e2dfd7de..6aaded66d 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/License_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/License_Test.java
@@ -116,7 +116,7 @@ class License_Test extends SimpleTestBase {
        @Test void b03_keySet() {
                var t = new License();
 
-               assertSet(t.keySet());
+               assertEmpty(t.keySet());
 
                t
                        .set("name", "a")
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Operation_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Operation_Test.java
index a35eec90d..62b887fff 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Operation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Operation_Test.java
@@ -45,19 +45,19 @@ class Operation_Test extends SimpleTestBase {
                );
 
                // Edge cases for collections.
-               assertSet(t.setTags(set()).getTags());
+               assertEmpty(t.setTags(set()).getTags());
                assertNull(t.setTags((Collection<String>)null).getTags());
-               assertSet(t.setConsumes(set()).getConsumes());
+               assertEmpty(t.setConsumes(set()).getConsumes());
                
assertNull(t.setConsumes((Collection<MediaType>)null).getConsumes());
-               assertSet(t.setProduces(set()).getProduces());
+               assertEmpty(t.setProduces(set()).getProduces());
                
assertNull(t.setProduces((Collection<MediaType>)null).getProduces());
-               assertList(t.setParameters(set()).getParameters());
+               assertEmpty(t.setParameters(set()).getParameters());
                
assertNull(t.setParameters((Collection<ParameterInfo>)null).getParameters());
                assertEmpty(t.setResponses(map()).getResponses());
                
assertNull(t.setResponses((Map<String,ResponseInfo>)null).getResponses());
-               assertSet(t.setSchemes(set()).getSchemes());
+               assertEmpty(t.setSchemes(set()).getSchemes());
                assertNull(t.setSchemes((Set<String>)null).getSchemes());
-               assertList(t.setSecurity(alist()).getSecurity());
+               assertEmpty(t.setSecurity(alist()).getSecurity());
                
assertNull(t.setSecurity((List<Map<String,List<String>>>)null).getSecurity());
        }
 
@@ -197,7 +197,7 @@ class Operation_Test extends SimpleTestBase {
        @Test void b03_keySet() {
                var t = new Operation();
 
-               assertSet(t.keySet());
+               assertEmpty(t.keySet());
 
                t
                        .set("consumes", set(MediaType.of("text/a")))
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ResponseInfo_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ResponseInfo_Test.java
index 96351c115..c702a880f 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ResponseInfo_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ResponseInfo_Test.java
@@ -43,13 +43,17 @@ class ResponseInfo_Test extends SimpleTestBase {
 
                // Edge cases for collections and nulls.
                assertNull(t.setDescription(null).getDescription());
-               assertMap(t.setHeaders(map()).getHeaders());
+               assertEmpty(t.setHeaders(map()).getHeaders());
                
assertNull(t.setHeaders((Map<String,HeaderInfo>)null).getHeaders());
-               assertMap(t.setExamples(map()).getExamples());
+               assertEmpty(t.setExamples(map()).getExamples());
                
assertNull(t.setExamples((Map<String,Object>)null).getExamples());
 
                // Examples addExample method.
-               assertMap(t.setExamples(map()).addExample("text/a", 
"a").addExample("text/b", null).addExample(null, "c").getExamples(), 
"text/a=a", "text/b=null", "null=c");
+               assertMap(
+                       t.setExamples(map()).addExample("text/a", 
"a").addExample("text/b", null).addExample(null, "c").getExamples(),
+                       "text/a,text/b,<<<NULL>>>",
+                       "a,null,c"
+               );
        }
 
        /**
@@ -135,7 +139,7 @@ class ResponseInfo_Test extends SimpleTestBase {
        @Test void b03_keySet() {
                var t = new ResponseInfo();
 
-               assertSet(t.keySet());
+               assertEmpty(t.keySet());
 
                t
                        .set("description", "a")
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/SecurityScheme_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/SecurityScheme_Test.java
index eb99d8162..5b2820a97 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/SecurityScheme_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/SecurityScheme_Test.java
@@ -49,7 +49,7 @@ class SecurityScheme_Test extends SimpleTestBase {
                assertNull(t.setFlow(null).getFlow());
                assertNull(t.setAuthorizationUrl(null).getAuthorizationUrl());
                assertNull(t.setTokenUrl(null).getTokenUrl());
-               assertMap(t.setScopes(map()).getScopes());
+               assertEmpty(t.setScopes(map()).getScopes());
                assertNull(t.setScopes((Map<String,String>)null).getScopes());
        }
 
@@ -155,7 +155,7 @@ class SecurityScheme_Test extends SimpleTestBase {
        @Test void b03_keySet() {
                var t = new SecurityScheme();
 
-               assertSet(t.keySet());
+               assertEmpty(t.keySet());
 
                t
                        .set("authorizationUrl", "a")
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Tag_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Tag_Test.java
index 5df98afa1..17a1abd04 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Tag_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Tag_Test.java
@@ -122,7 +122,7 @@ class Tag_Test extends SimpleTestBase {
        @Test void b03_keySet() {
                var t = new Tag();
 
-               assertSet(t.keySet());
+               assertEmpty(t.keySet());
 
                t
                        .set("description", "a")
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Xml_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Xml_Test.java
index e9b1c9b73..83ebea404 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Xml_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Xml_Test.java
@@ -131,7 +131,7 @@ class Xml_Test extends SimpleTestBase {
        @Test void b03_keySet() {
                var t = new Xml();
 
-               assertSet(t.keySet());
+               assertEmpty(t.keySet());
 
                t
                        .set("attribute", true)
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/HeaderList_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/HeaderList_Test.java
index e95e217b6..1313bdcda 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/HeaderList_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/HeaderList_Test.java
@@ -429,7 +429,7 @@ class HeaderList_Test extends SimpleTestBase {
                        .setDefault((HeaderList)null)
                        .setDefault((Header[])null)
                        .setDefault((List<Header>)null);
-               assertList(x9);
+               assertEmpty(x9);
 
                var x10 = HeaderList.create().setDefault("Accept","text/xml");
                assertList(x10, "Accept: text/xml");
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/RrpcInterface_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/RrpcInterface_Test.java
index 89a702199..b04b67bba 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/RrpcInterface_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/RrpcInterface_Test.java
@@ -630,22 +630,22 @@ class RrpcInterface_Test extends SimpleTestBase {
 
                                @Override
                                public void setBeanMap(Map<String,ABean> v) {
-                                       assertMap(v, ">foo={a:1,b:'foo'}");
+                                       assertMap(v, "foo", "{a:1,b:'foo'}");
                                }
 
                                @Override
                                public void 
setBeanListMap(Map<String,List<ABean>> v) {
-                                       assertMap(v, ">foo=[{a:1,b:'foo'}]");
+                                       assertMap(v, "foo", "[{a:1,b:'foo'}]");
                                }
 
                                @Override
                                public void 
setBean1d3dListMap(Map<String,List<ABean[][][]>> v) {
-                                       assertMap(v, 
">foo=[[[[{a:1,b:'foo'},null],null],null],null]");
+                                       assertMap(v, "foo", 
"[[[[{a:1,b:'foo'},null],null],null],null]");
                                }
 
                                @Override
                                public void 
setBeanListMapIntegerKeys(Map<Integer,List<ABean>> v) {
-                                       assertMap(v, ">1=[{a:1,b:'foo'}]");
+                                       assertMapPairs(v, ">1=[{a:1,b:'foo'}]");
                                        assertType(Integer.class, 
v.keySet().iterator().next());
                                }
 
@@ -677,25 +677,25 @@ class RrpcInterface_Test extends SimpleTestBase {
 
                                @Override
                                public void 
setTypedBeanMap(Map<String,TypedBean> v) {
-                                       assertMap(v, "foo=a:1;b:foo");
+                                       assertMap(v, "foo", "a:1;b:foo");
                                        assertType(TypedBeanImpl.class, 
v.get("foo"));
                                }
 
                                @Override
                                public void 
setTypedBeanListMap(Map<String,List<TypedBean>> v) {
-                                       assertMap(v, "foo=[a:1;b:foo]");
+                                       assertMap(v, "foo", "[a:1;b:foo]");
                                        assertType(TypedBeanImpl.class, 
v.get("foo").get(0));
                                }
 
                                @Override
                                public void 
setTypedBean1d3dListMap(Map<String,List<TypedBean[][][]>> v) {
-                                       assertMap(v, 
">foo=[[[[a:1;b:foo,null],null],null],null]");
+                                       assertMap(v, "foo", 
"[[[[a:1;b:foo,null],null],null],null]");
                                        assertType(TypedBeanImpl.class, 
v.get("foo").get(0)[0][0][0]);
                                }
 
                                @Override
                                public void 
setTypedBeanListMapIntegerKeys(Map<Integer,List<TypedBean>> v) {
-                                       assertMap(v, "1=[a:1;b:foo]");
+                                       assertMapPairs(v, "1=[a:1;b:foo]");
                                        assertType(TypedBeanImpl.class, 
v.get(1).get(0));
                                }
 
@@ -714,7 +714,7 @@ class RrpcInterface_Test extends SimpleTestBase {
 
                                @Override
                                public void 
setSwappedObjectMap(Map<SwappedObject,SwappedObject> v) {
-                                       assertMap(v, 
"wasUnswapped:true=wasUnswapped:true");
+                                       assertMapPairs(v, 
"wasUnswapped:true=wasUnswapped:true");
                                        var e = v.entrySet().iterator().next();
                                        assertTrue(e.getKey().wasUnswapped);
                                        assertTrue(e.getValue().wasUnswapped);
@@ -722,7 +722,7 @@ class RrpcInterface_Test extends SimpleTestBase {
 
                                @Override
                                public void 
setSwappedObject3dMap(Map<SwappedObject,SwappedObject[][][]> v) {
-                                       assertMap(v, 
">wasUnswapped:true=[[[wasUnswapped:true,null],null],null]");
+                                       assertMapPairs(v, 
">wasUnswapped:true=[[[wasUnswapped:true,null],null],null]");
                                        var e = v.entrySet().iterator().next();
                                        assertTrue(e.getKey().wasUnswapped);
                                        
assertTrue(e.getValue()[0][0][0].wasUnswapped);
@@ -743,7 +743,7 @@ class RrpcInterface_Test extends SimpleTestBase {
 
                                @Override
                                public void 
setImplicitSwappedObjectMap(Map<ImplicitSwappedObject,ImplicitSwappedObject> v) 
{
-                                       assertMap(v, ">"+SWAP+"="+SWAP);
+                                       assertMapPairs(v, ">"+SWAP+"="+SWAP);
                                        var e = v.entrySet().iterator().next();
                                        assertTrue(e.getKey().wasUnswapped);
                                        assertTrue(e.getValue().wasUnswapped);
@@ -751,7 +751,7 @@ class RrpcInterface_Test extends SimpleTestBase {
 
                                @Override
                                public void 
setImplicitSwappedObject3dMap(Map<ImplicitSwappedObject,ImplicitSwappedObject[][][]>
 v) {
-                                       assertMap(v, 
">"+SWAP+"=[[["+SWAP+",null],null],null]");
+                                       assertMapPairs(v, 
">"+SWAP+"=[[["+SWAP+",null],null],null]");
                                        var e = v.entrySet().iterator().next();
                                        assertTrue(e.getKey().wasUnswapped);
                                        
assertTrue(e.getValue()[0][0][0].wasUnswapped);
@@ -789,7 +789,7 @@ class RrpcInterface_Test extends SimpleTestBase {
 
                                @Override
                                public void setEnumMap(Map<TestEnum,TestEnum> 
v) {
-                                       assertMap(v, "ONE=TWO");
+                                       assertMapPairs(v, "ONE=TWO");
                                        var e = v.entrySet().iterator().next();
                                        assertType(TestEnum.class, e.getKey());
                                        assertType(TestEnum.class, 
e.getValue());
@@ -797,7 +797,7 @@ class RrpcInterface_Test extends SimpleTestBase {
 
                                @Override
                                public void 
setEnum3dArrayMap(Map<TestEnum,TestEnum[][][]> v) {
-                                       assertMap(v, 
">ONE=[[[TWO,null],null],null]");
+                                       assertMapPairs(v, 
">ONE=[[[TWO,null],null],null]");
                                        var e = v.entrySet().iterator().next();
                                        assertType(TestEnum.class, e.getKey());
                                        assertType(TestEnum[][][].class, 
e.getValue());
@@ -805,7 +805,7 @@ class RrpcInterface_Test extends SimpleTestBase {
 
                                @Override
                                public void 
setEnum1d3dListMap(Map<TestEnum,List<TestEnum[][][]>> v) {
-                                       assertMap(v, 
">ONE=[[[[TWO,null],null],null],null]");
+                                       assertMapPairs(v, 
">ONE=[[[[TWO,null],null],null],null]");
                                        
Map.Entry<TestEnum,List<TestEnum[][][]>> e = v.entrySet().iterator().next();
                                        assertType(TestEnum.class, e.getKey());
                                        assertType(TestEnum[][][].class, 
e.getValue().get(0));
@@ -873,9 +873,9 @@ class RrpcInterface_Test extends SimpleTestBase {
                                        assertList(x3, 
"[[[{a:1,b:'foo'},null],null],null]", null);
                                        assertType(ABean[][][].class, 
x3.get(0));
                                        assertNull(x3n);
-                                       assertMap(x4, ">foo={a:1,b:'foo'}");
+                                       assertMapPairs(x4, 
">foo={a:1,b:'foo'}");
                                        assertNull(x4n);
-                                       assertMap(x5, 
">foo=[[[[{a:1,b:'foo'},null],null],null],null]");
+                                       assertMapPairs(x5, 
">foo=[[[[{a:1,b:'foo'},null],null],null],null]");
                                        assertNull(x5n);
                                }
 
@@ -887,9 +887,9 @@ class RrpcInterface_Test extends SimpleTestBase {
                                        assertList(x3, 
"[[[wasUnswapped:true,null],null],null]", null);
                                        assertType(SwappedObject[][][].class, 
x3.get(0));
                                        assertNull(x3n);
-                                       assertMap(x4, 
"wasUnswapped:true=wasUnswapped:true");
+                                       assertMapPairs(x4, 
"wasUnswapped:true=wasUnswapped:true");
                                        assertNull(x4n);
-                                       assertMap(x5, 
">wasUnswapped:true=[[[[wasUnswapped:true,null],null],null],null]");
+                                       assertMapPairs(x5, 
">wasUnswapped:true=[[[[wasUnswapped:true,null],null],null],null]");
                                        assertNull(x5n);
                                }
 
@@ -901,9 +901,9 @@ class RrpcInterface_Test extends SimpleTestBase {
                                        assertList(x3, 
"[[["+SWAP+",null],null],null]", null);
                                        
assertType(ImplicitSwappedObject[][][].class, x3.get(0));
                                        assertNull(x3n);
-                                       assertMap(x4, ">"+SWAP+"="+SWAP);
+                                       assertMapPairs(x4, ">"+SWAP+"="+SWAP);
                                        assertNull(x4n);
-                                       assertMap(x5, 
">"+SWAP+"=[[[["+SWAP+",null],null],null],null]");
+                                       assertMapPairs(x5, 
">"+SWAP+"=[[[["+SWAP+",null],null],null],null]");
                                        assertNull(x5n);
                                }
 
@@ -915,9 +915,9 @@ class RrpcInterface_Test extends SimpleTestBase {
                                        assertList(x3, 
"[[[TWO,null],null],null]", null);
                                        assertType(TestEnum[][][].class, 
x3.get(0));
                                        assertNull(x3n);
-                                       assertMap(x4, "ONE=TWO");
+                                       assertMapPairs(x4, "ONE=TWO");
                                        assertNull(x4n);
-                                       assertMap(x5, 
">ONE=[[[[TWO,null],null],null],null]");
+                                       assertMapPairs(x5, 
">ONE=[[[[TWO,null],null],null],null]");
                                        assertNull(x5n);
                                }
                        };
@@ -1079,7 +1079,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void b06_returnBeanListMap(Input input) {
                var x = input.proxy.returnBeanListMap();
-               assertMap(x, ">foo=[{a:1,b:'foo'}]");
+               assertMap(x, "foo", "[{a:1,b:'foo'}]");
                assertType(ABean.class, x.get("foo").get(0));
        }
 
@@ -1087,7 +1087,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void b07_returnBean1d3dListMap(Input input) {
                var x = input.proxy.returnBean1d3dListMap();
-               assertMap(x, ">foo=[[[[{a:1,b:'foo'},null],null],null],null]");
+               assertMap(x, "foo", 
"[[[[{a:1,b:'foo'},null],null],null],null]");
                assertType(ABean.class, x.get("foo").get(0)[0][0][0]);
        }
 
@@ -1096,7 +1096,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        void b08_returnBeanListMapIntegerKeys(Input input) {
                // Note: JsonSerializer serializes key as string.
                var x = input.proxy.returnBeanListMapIntegerKeys();
-               assertMap(x, ">1=[{a:1,b:'foo'}]");
+               assertMapPairs(x, ">1=[{a:1,b:'foo'}]");
                assertType(Integer.class, x.keySet().iterator().next());
        }
 
@@ -1138,7 +1138,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void c05_returnTypedBeanMap(Input input) {
                var x = input.proxy.returnTypedBeanMap();
-               assertMap(x, "foo=a:1;b:foo");
+               assertMap(x, "foo", "a:1;b:foo");
                assertType(TypedBeanImpl.class, x.get("foo"));
        }
 
@@ -1146,7 +1146,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void c06_returnTypedBeanListMap(Input input) {
                var x = input.proxy.returnTypedBeanListMap();
-               assertMap(x, "foo=[a:1;b:foo]");
+               assertMap(x, "foo", "[a:1;b:foo]");
                assertType(TypedBeanImpl.class, x.get("foo").get(0));
        }
 
@@ -1154,7 +1154,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void c07_returnTypedBean1d3dListMap(Input input) {
                var x = input.proxy.returnTypedBean1d3dListMap();
-               assertMap(x, ">foo=[[[[a:1;b:foo,null],null],null],null]");
+               assertMap(x, "foo", "[[[[a:1;b:foo,null],null],null],null]");
                assertType(TypedBeanImpl.class, x.get("foo").get(0)[0][0][0]);
        }
 
@@ -1163,7 +1163,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        void c08_returnTypedBeanListMapIntegerKeys(Input input) {
                // Note: JsonSerializer serializes key as string.
                var x = input.proxy.returnTypedBeanListMapIntegerKeys();
-               assertMap(x, "1=[a:1;b:foo]");
+               assertMapPairs(x, "1=[a:1;b:foo]");
                assertType(TypedBeanImpl.class, x.get(1).get(0));
        }
 
@@ -1188,7 +1188,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void d03_returnSwappedObjectMap(Input input) {
                var x = input.proxy.returnSwappedObjectMap();
-               assertMap(x, "wasUnswapped:true=wasUnswapped:true");
+               assertMapPairs(x, "wasUnswapped:true=wasUnswapped:true");
                var e = x.entrySet().iterator().next();
                assertTrue(e.getKey().wasUnswapped);
                assertTrue(e.getValue().wasUnswapped);
@@ -1198,7 +1198,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void d04_returnSwappedObject3dMap(Input input) {
                var x = input.proxy.returnSwappedObject3dMap();
-               assertMap(x, 
">wasUnswapped:true=[[[wasUnswapped:true,null],null],null]");
+               assertMapPairs(x, 
">wasUnswapped:true=[[[wasUnswapped:true,null],null],null]");
                var e = x.entrySet().iterator().next();
                assertTrue(e.getKey().wasUnswapped);
                assertTrue(e.getValue()[0][0][0].wasUnswapped);
@@ -1225,7 +1225,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void e03_returnImplicitSwappedObjectMap(Input input) {
                var x = input.proxy.returnImplicitSwappedObjectMap();
-               assertMap(x, ">"+SWAP+"="+SWAP);
+               assertMapPairs(x, ">"+SWAP+"="+SWAP);
                var e = x.entrySet().iterator().next();
                assertTrue(e.getKey().wasUnswapped);
                assertTrue(e.getValue().wasUnswapped);
@@ -1235,7 +1235,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void e04_returnImplicitSwappedObject3dMap(Input input) {
                var x = input.proxy.returnImplicitSwappedObject3dMap();
-               assertMap(x, ">"+SWAP+"=[[["+SWAP+",null],null],null]");
+               assertMapPairs(x, ">"+SWAP+"=[[["+SWAP+",null],null],null]");
                var e = x.entrySet().iterator().next();
                assertTrue(e.getKey().wasUnswapped);
                assertTrue(e.getValue()[0][0][0].wasUnswapped);
@@ -1286,7 +1286,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void f06_returnEnumMap(Input input) {
                var x = input.proxy.returnEnumMap();
-               assertMap(x, "ONE=TWO");
+               assertMapPairs(x, "ONE=TWO");
                var e = x.entrySet().iterator().next();
                assertType(TestEnum.class, e.getKey());
                assertType(TestEnum.class, e.getValue());
@@ -1296,7 +1296,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void f07_returnEnum3dArrayMap(Input input) {
                var x = input.proxy.returnEnum3dArrayMap();
-               assertMap(x, ">ONE=[[[TWO,null],null],null]");
+               assertMapPairs(x, ">ONE=[[[TWO,null],null],null]");
                var e = x.entrySet().iterator().next();
                assertType(TestEnum.class, e.getKey());
                assertType(TestEnum[][][].class, e.getValue());
@@ -1306,7 +1306,7 @@ class RrpcInterface_Test extends SimpleTestBase {
        @MethodSource("input")
        void f08_returnEnum1d3dListMap(Input input) {
                var x = input.proxy.returnEnum1d3dListMap();
-               assertMap(x, ">ONE=[[[[TWO,null],null],null],null]");
+               assertMapPairs(x, ">ONE=[[[[TWO,null],null],null],null]");
                assertType(TestEnum[][][].class, x.get(TestEnum.ONE).get(0));
        }
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/transform/AutoMapSwapTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/transform/AutoMapSwapTest.java
index 75a09ed09..ce45e69f7 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/transform/AutoMapSwapTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/transform/AutoMapSwapTest.java
@@ -94,7 +94,7 @@ class AutoMapSwapTest extends SimpleTestBase {
                        return STRINGMAP;
                }
                public static B01 fromMap(Map<String,String> o) {
-                       assertMap(o, "foo=bar");
+                       assertMap(o, "foo", "bar");
                        return new B01();
                }
        }
@@ -103,7 +103,7 @@ class AutoMapSwapTest extends SimpleTestBase {
                        return JSONMAP;
                }
                public static B02 fromJsonMap(JsonMap o) {
-                       assertMap(o, "foo=bar");
+                       assertMap(o, "foo", "bar");
                        return new B02();
                }
        }
@@ -112,7 +112,7 @@ class AutoMapSwapTest extends SimpleTestBase {
                        return STRINGMAP;
                }
                public static B03 create(Map<String,String> o) {
-                       assertMap(o, "foo=bar");
+                       assertMap(o, "foo", "bar");
                        return new B03();
                }
        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/transform/AutoObjectSwapTest.java
 
b/juneau-utest/src/test/java/org/apache/juneau/transform/AutoObjectSwapTest.java
index 72a3eb021..591a9e04d 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/transform/AutoObjectSwapTest.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/transform/AutoObjectSwapTest.java
@@ -105,7 +105,7 @@ class AutoObjectSwapTest extends SimpleTestBase {
                        return JSONMAP;
                }
                public static B02 create(JsonMap o) {
-                       assertMap(o, "foo=bar");
+                       assertMap(o, "foo", "bar");
                        return new B02();
                }
        }
@@ -114,7 +114,7 @@ class AutoObjectSwapTest extends SimpleTestBase {
                        return STRINGMAP;
                }
                public static B03 fromObject(Map<String,String> o) {
-                       assertMap(o, "foo=bar");
+                       assertMap(o, "foo", "bar");
                        return new B03();
                }
        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/StringUtils_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/StringUtils_Test.java
index 1647084f4..360233a36 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/utils/StringUtils_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/utils/StringUtils_Test.java
@@ -861,7 +861,7 @@ class StringUtils_Test extends SimpleTestBase {
        
//====================================================================================================
        @Test void a37_splitNested() {
                assertNull(Utils.splitNested(null));
-               assertList(Utils.splitNested(""));
+               assertEmpty(Utils.splitNested(""));
                assertList(Utils.splitNested("a"), "a");
                assertList(Utils.splitNested("a,b,c"), "a", "b", "c");
                assertList(Utils.splitNested("a{b,c},d"), "a{b,c}", "d");

Reply via email to