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 4d471f1d7 Unit test modernization.
4d471f1d7 is described below

commit 4d471f1d788411520a5323a2e145e704854694ab
Author: James Bognar <[email protected]>
AuthorDate: Wed Aug 6 09:06:43 2025 -0400

    Unit test modernization.
---
 .../org/apache/juneau/common/internal/Utils.java   |  26 +-
 .../java/org/apache/juneau/SimpleTestBase.java     |  12 +
 .../http/header/BasicMediaRangesHeader_Test.java   |  48 +--
 .../http/header/BasicMediaTypeHeader_Test.java     |  18 +-
 .../http/header/BasicStringRangesHeader_Test.java  |   6 +-
 .../juneau/http/header/BasicUriHeader_Test.java    |  22 +-
 .../apache/juneau/http/header/HeaderList_Test.java | 453 +++++++++------------
 .../org/apache/juneau/utils/StringUtilsTest.java   |  10 +-
 8 files changed, 272 insertions(+), 323 deletions(-)

diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/Utils.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/Utils.java
index aaee109d1..a05b5f899 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/Utils.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/Utils.java
@@ -654,20 +654,18 @@ public class Utils {
         * Shortcut for converting an object to a string.
         */
        public static String readable(Object o) {
-               if (o instanceof Collection)
-                       return (String) 
Collection.class.cast(o).stream().map(Utils::readable).collect(joining(",","[","]"));
-               if (o instanceof Map)
-                       return (String) 
Map.class.cast(o).entrySet().stream().map(Utils::readable).collect(joining(",","{","}"));
-               if (o instanceof Map.Entry) {
-                       var e = Map.Entry.class.cast(o);
-                       return readable(e.getKey()) + '=' + 
readable(e.getValue());
-               }
-               if (o instanceof GregorianCalendar) {
-                       return 
GregorianCalendar.class.cast(o).toZonedDateTime().format(DateTimeFormatter.ISO_INSTANT);
-               }
-               if (o instanceof Date) {
-                       return Date.class.cast(o).toInstant().toString();
-               }
+               if (o instanceof Optional<?> o2)
+                       return readable(o2.orElse(null));
+               if (o instanceof Collection<?> o2)
+                       return 
o2.stream().map(Utils::readable).collect(joining(",","[","]"));
+               if (o instanceof Map<?,?> o2)
+                       return 
o2.entrySet().stream().map(Utils::readable).collect(joining(",","{","}"));
+               if (o instanceof Map.Entry<?,?> o2)
+                       return readable(o2.getKey()) + '=' + 
readable(o2.getValue());
+               if (o instanceof GregorianCalendar o2)
+                       return 
o2.toZonedDateTime().format(DateTimeFormatter.ISO_INSTANT);
+               if (o instanceof Date o2)
+                       return o2.toInstant().toString();
                if (o != null && o.getClass().isArray()) {
                        List<Object> l = list();
                        for (var i = 0; i < Array.getLength(o); i++) {
diff --git a/juneau-utest/src/test/java/org/apache/juneau/SimpleTestBase.java 
b/juneau-utest/src/test/java/org/apache/juneau/SimpleTestBase.java
index cb1842400..ae66a3410 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/SimpleTestBase.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/SimpleTestBase.java
@@ -70,10 +70,20 @@ public abstract class SimpleTestBase {
                assertEquals(expected, r(actual));
        }
 
+       protected static void assertEmpty(Optional<?> o) {
+               assertTrue(o != null && o.isEmpty(), "Optional was not empty.");
+       }
+
+       protected static void assertPresent(Optional<?> o) {
+               assertTrue(o != null && o.isPresent(), "Optional was not 
present.");
+       }
+
        /**
         * Asserts the entries in an array matches the expected strings after 
they've been made readable.
         */
        protected static void assertArray(Object array, String...expected) {
+               if (expected.length == 1 && expected[0].contains(","))
+                       expected = expected[0].charAt(0) == '>' ? new 
String[]{expected[0].substring(1)} : StringUtils.split(expected[0]);
                if (Array.getLength(array) != expected.length)
                        ffail("Wrong array length.  expected={0}, actual={1}", 
expected.length, Array.getLength(array));
                for (var i = 0; i < expected.length; i++)
@@ -85,6 +95,8 @@ public abstract class SimpleTestBase {
         * Asserts the entries in a list matches the expected strings after 
they've been made readable.
         */
        protected static void assertList(List<?> list, String...expected) {
+               if (expected.length == 1 && expected[0].contains(","))
+                       expected = expected[0].charAt(0) == '>' ? new 
String[]{expected[0].substring(1)} : StringUtils.split(expected[0]);
                if (list.size() != expected.length)
                        ffail("Wrong list length.  expected={0}, actual={1}", 
expected.length, list.size());
                for (var i = 0; i < expected.length; i++)
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicMediaRangesHeader_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicMediaRangesHeader_Test.java
index 706bc974c..9fca54cfa 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicMediaRangesHeader_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicMediaRangesHeader_Test.java
@@ -12,10 +12,12 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.assertions.Assertions.*;
+import static org.apache.juneau.common.internal.Utils.*;
 import static org.apache.juneau.http.HttpHeaders.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.utest.utils.Utils2.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import java.io.*;
 import java.util.function.*;
 
@@ -47,7 +49,7 @@ class BasicMediaRangesHeader_Test extends SimpleTestBase {
        
//------------------------------------------------------------------------------------------------------------------
 
        @Test void a01_basic() throws Exception {
-               RestClient c = client().build();
+               var c = client().build();
 
                // Normal usage.
                
c.get().header(mediaRangesHeader(HEADER,VALUE)).run().assertContent(VALUE);
@@ -58,39 +60,39 @@ class BasicMediaRangesHeader_Test extends SimpleTestBase {
                // Invalid usage.
                
c.get().header(mediaRangesHeader(HEADER,(Supplier<MediaRanges>)null)).run().assertContent().isEmpty();
                
c.get().header(mediaRangesHeader(HEADER,()->null)).run().assertContent().isEmpty();
-               assertThrown(()->mediaRangesHeader("", 
VALUE)).asMessage().is("Name cannot be empty on header.");
-               assertThrown(()->mediaRangesHeader(null, 
VALUE)).asMessage().is("Name cannot be empty on header.");
-               assertThrown(()->mediaRangesHeader("", 
PARSED)).asMessage().is("Name cannot be empty on header.");
-               assertThrown(()->mediaRangesHeader(null, 
PARSED)).asMessage().is("Name cannot be empty on header.");
-               assertThrown(()->mediaRangesHeader("", 
()->PARSED)).asMessage().is("Name cannot be empty on header.");
-               assertThrown(()->mediaRangesHeader(null, 
()->PARSED)).asMessage().is("Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, 
()->mediaRangesHeader("", VALUE), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, 
()->mediaRangesHeader(null, VALUE), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, 
()->mediaRangesHeader("", PARSED), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, 
()->mediaRangesHeader(null, PARSED), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, 
()->mediaRangesHeader("", ()->PARSED), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, 
()->mediaRangesHeader(null, ()->PARSED), "Name cannot be empty on header.");
        }
 
        @Test void a02_match() {
-               
assertInteger(accept("text/foo").match(alist(MediaType.of("text/foo")))).is(0);
-               
assertInteger(accept("text/foo").match(alist(MediaType.of("text/bar")))).is(-1);
-               assertInteger(new 
Accept((String)null).match(alist(MediaType.of("text/bar")))).is(-1);
-               
assertInteger(accept("text/foo").match(alist(MediaType.of(null)))).is(-1);
-               assertInteger(accept("text/foo").match(null)).is(-1);
+               assertEquals(0, 
accept("text/foo").match(alist(MediaType.of("text/foo"))));
+               assertEquals(-1, 
accept("text/foo").match(alist(MediaType.of("text/bar"))));
+               assertEquals(-1, new 
Accept((String)null).match(alist(MediaType.of("text/bar"))));
+               assertEquals(-1, 
accept("text/foo").match(alist(MediaType.of(null))));
+               assertEquals(-1, accept("text/foo").match(null));
        }
 
        @Test void a03_getRange() {
-               assertString(accept("text/foo").getRange(0)).is("text/foo");
-               assertString(accept("text/foo").getRange(1)).isNull();
-               assertString(accept("text/foo").getRange(-1)).isNull();
-               assertString(new Accept((String)null).getRange(0)).isNull();
+               assertEquals("text/foo", s(accept("text/foo").getRange(0)));
+               assertNull(accept("text/foo").getRange(1));
+               assertNull(accept("text/foo").getRange(-1));
+               assertNull(new Accept((String)null).getRange(0));
        }
 
        @Test void a04_hasSubtypePart() {
-               
assertBoolean(accept("text/foo").hasSubtypePart("foo")).isTrue();
-               
assertBoolean(accept("text/foo").hasSubtypePart("bar")).isFalse();
-               
assertBoolean(accept("text/foo").hasSubtypePart(null)).isFalse();
-               assertBoolean(new 
Accept((String)null).hasSubtypePart("foo")).isFalse();
+               assertTrue(accept("text/foo").hasSubtypePart("foo"));
+               assertFalse(accept("text/foo").hasSubtypePart("bar"));
+               assertFalse(accept("text/foo").hasSubtypePart(null));
+               assertFalse(new Accept((String)null).hasSubtypePart("foo"));
        }
 
        @Test void a05_getRanges() {
-               
assertObject(accept("text/foo,text/bar").toMediaRanges().toList()).asJson().is("['text/foo','text/bar']");
-               assertObject(new Accept((String)null).toMediaRanges()).isNull();
+               
assertList(accept("text/foo,text/bar").toMediaRanges().toList(), "text/foo" 
,"text/bar");
+               assertNull(new Accept((String)null).toMediaRanges());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicMediaTypeHeader_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicMediaTypeHeader_Test.java
index 2921a73e7..f17200da1 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicMediaTypeHeader_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicMediaTypeHeader_Test.java
@@ -15,6 +15,8 @@ package org.apache.juneau.http.header;
 import static org.apache.juneau.assertions.Assertions.*;
 import static org.apache.juneau.http.HttpHeaders.*;
 import static org.apache.juneau.utest.utils.Utils2.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import java.io.*;
 import java.util.function.*;
 
@@ -66,13 +68,13 @@ class BasicMediaTypeHeader_Test extends SimpleTestBase {
        }
 
        @Test void a02_getType() {
-               assertString(contentType("text/foo").getType()).is("text");
-               assertString(new ContentType((String)null).getType()).isEmpty();
+               assertEquals("text", contentType("text/foo").getType());
+               assertEquals("", new ContentType((String)null).getType());
        }
 
        @Test void a03_getSubType() {
-               assertString(contentType("text/foo").getSubType()).is("foo");
-               assertString(new 
ContentType((String)null).getSubType()).is("*");
+               assertEquals("foo", contentType("text/foo").getSubType());
+               assertEquals("*", new ContentType((String)null).getSubType());
        }
 
        @Test void a04_hasSubType() {
@@ -104,10 +106,10 @@ class BasicMediaTypeHeader_Test extends SimpleTestBase {
        }
 
        @Test void a09_getParameter() {
-               
assertString(contentType("text/foo;x=1;y=2").getParameter("x")).is("1");
-               
assertString(contentType("text/foo;x=1;y=2").getParameter("z")).isNull();
-               
assertString(contentType("text/foo;x=1;y=2").getParameter(null)).isNull();
-               assertObject(new 
ContentType((String)null).getParameter("x")).isNull();
+               assertEquals("1", 
contentType("text/foo;x=1;y=2").getParameter("x"));
+               assertNull(contentType("text/foo;x=1;y=2").getParameter("z"));
+               assertNull(contentType("text/foo;x=1;y=2").getParameter(null));
+               assertNull(new ContentType((String)null).getParameter("x"));
        }
 
        
//------------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicStringRangesHeader_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicStringRangesHeader_Test.java
index cc869f77d..0955d9e92 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicStringRangesHeader_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicStringRangesHeader_Test.java
@@ -15,6 +15,8 @@ package org.apache.juneau.http.header;
 import static org.apache.juneau.assertions.Assertions.*;
 import static org.apache.juneau.http.HttpHeaders.*;
 import static org.apache.juneau.utest.utils.Utils2.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import java.io.*;
 import java.util.function.*;
 
@@ -66,11 +68,11 @@ class BasicStringRangesHeader_Test extends SimpleTestBase {
        }
 
        @Test void a02_getRange() {
-               
assertString(stringRangesHeader(HEADER,PARSED).getRange(0)).is("foo");
+               assertString("foo", 
stringRangesHeader(HEADER,PARSED).getRange(0));
        }
 
        @Test void a03_getRanges() {
-               
assertObject(stringRangesHeader(HEADER,PARSED).toStringRanges().toList()).asJson().is("['foo','bar']");
+               
assertList(stringRangesHeader(HEADER,PARSED).toStringRanges().toList(), "foo", 
"bar");
        }
 
        
//------------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicUriHeader_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicUriHeader_Test.java
index f7a40bf64..fdb713f82 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicUriHeader_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicUriHeader_Test.java
@@ -12,9 +12,10 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.assertions.Assertions.*;
 import static org.apache.juneau.http.HttpHeaders.*;
 import static org.apache.juneau.utest.utils.Utils2.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import java.io.*;
 import java.net.*;
 import java.util.function.*;
@@ -34,7 +35,6 @@ class BasicUriHeader_Test extends SimpleTestBase {
        private static final String VALUE = "foo://bar";
        private static final URI PARSED = URI.create("foo://bar");
 
-
        @Rest
        public static class A {
                @RestOp
@@ -48,7 +48,7 @@ class BasicUriHeader_Test extends SimpleTestBase {
        
//------------------------------------------------------------------------------------------------------------------
 
        @Test void a01_basic() throws Exception {
-               RestClient c = client().build();
+               var c = client().build();
 
                // Normal usage.
                
c.get().header(uriHeader(HEADER,VALUE)).run().assertContent(VALUE);
@@ -59,17 +59,17 @@ class BasicUriHeader_Test extends SimpleTestBase {
                // Invalid usage.
                
c.get().header(uriHeader(HEADER,(Supplier<URI>)null)).run().assertContent().isEmpty();
                
c.get().header(uriHeader(HEADER,()->null)).run().assertContent().isEmpty();
-               assertThrown(()->uriHeader("", VALUE)).asMessage().is("Name 
cannot be empty on header.");
-               assertThrown(()->uriHeader(null, VALUE)).asMessage().is("Name 
cannot be empty on header.");
-               assertThrown(()->uriHeader("", PARSED)).asMessage().is("Name 
cannot be empty on header.");
-               assertThrown(()->uriHeader(null, PARSED)).asMessage().is("Name 
cannot be empty on header.");
-               assertThrown(()->uriHeader("", 
()->PARSED)).asMessage().is("Name cannot be empty on header.");
-               assertThrown(()->uriHeader(null, 
()->PARSED)).asMessage().is("Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, ()->uriHeader("", 
VALUE), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, 
()->uriHeader(null, VALUE), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, ()->uriHeader("", 
PARSED), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, 
()->uriHeader(null, PARSED), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, ()->uriHeader("", 
()->PARSED), "Name cannot be empty on header.");
+               assertThrows(IllegalArgumentException.class, 
()->uriHeader(null, ()->PARSED), "Name cannot be empty on header.");
        }
 
        @Test void a02_asUri() {
-               
assertString(uriHeader(HEADER,"http://foo";).asUri()).is("http://foo";);
-               assertString(new 
BasicUriHeader(HEADER,(URI)null).asUri()).isNull();
+               assertString("http://foo";, 
uriHeader(HEADER,"http://foo";).asUri().get());
+               assertTrue(new BasicUriHeader(HEADER, 
(URI)null).asUri().isEmpty());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
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 3b529d048..4432a0fcf 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
@@ -12,24 +12,23 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http.header;
 
-import static org.apache.juneau.assertions.Assertions.*;
 import static org.apache.juneau.http.HttpHeaders.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
-import static org.junit.runners.MethodSorters.*;
+import static org.junit.jupiter.api.Assertions.*;
 
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import org.apache.http.*;
+import org.apache.juneau.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.oapi.*;
-import org.junit.*;
+import org.junit.jupiter.api.*;
 
 /**
  * Tests: {@link HeaderList}, {@link HeaderListBuilder}, {@link 
BasicHeaderIterator}
  */
-@FixMethodOrder(NAME_ASCENDING)
-public class HeaderList_Test {
+class HeaderList_Test extends SimpleTestBase {
 
        private static final Header
                FOO_1 = header("Foo","1"),
@@ -44,76 +43,39 @@ public class HeaderList_Test {
 
                X_x = header("X", "x");
 
-       @Test
-       public void a01_basic() {
-               HeaderList x = HeaderList.create();
-
-               assertObject(x).isString("[]");
-               x.append(FOO_1);
-               assertObject(x).isString("[Foo: 1]");
-               x.append(FOO_2);
-               assertObject(x).isString("[Foo: 1, Foo: 2]");
-               x.append(HeaderList.of().getAll());
-               assertObject(x).isString("[Foo: 1, Foo: 2]");
-               x.append(HeaderList.of(FOO_3).getAll());
-               assertObject(x).isString("[Foo: 1, Foo: 2, Foo: 3]");
-               x.append(HeaderList.of(FOO_4, FOO_5).getAll());
-               assertObject(x).isString("[Foo: 1, Foo: 2, Foo: 3, Foo: 4, Foo: 
5]");
-               x.append(HeaderList.of(FOO_6, FOO_7).getAll());
-               assertObject(x).isString("[Foo: 1, Foo: 2, Foo: 3, Foo: 4, Foo: 
5, Foo: 6, Foo: 7]");
-               x.append((Header)null);
-               assertObject(x).isString("[Foo: 1, Foo: 2, Foo: 3, Foo: 4, Foo: 
5, Foo: 6, Foo: 7]");
-               x.append((List<Header>)null);
-               assertObject(x).isString("[Foo: 1, Foo: 2, Foo: 3, Foo: 4, Foo: 
5, Foo: 6, Foo: 7]");
-
-               assertObject(new HeaderList.Void()).isString("[]");
+       @Test void a01_basic() {
+               var x = HeaderList.create();
+               assertEmpty(x);
+               assertList(x.append(FOO_1), "Foo: 1");
+               assertList(x.append(FOO_2), "Foo: 1,Foo: 2");
+               assertList(x.append(HeaderList.of().getAll()), "Foo: 1,Foo: 2");
+               assertList(x.append(HeaderList.of(FOO_3).getAll()), "Foo: 
1,Foo: 2,Foo: 3");
+               assertList(x.append(HeaderList.of(FOO_4, FOO_5).getAll()), 
"Foo: 1,Foo: 2,Foo: 3,Foo: 4,Foo: 5");
+               assertList(x.append(HeaderList.of(FOO_6, FOO_7).getAll()), 
"Foo: 1,Foo: 2,Foo: 3,Foo: 4,Foo: 5,Foo: 6,Foo: 7");
+               assertList(x.append((Header)null), "Foo: 1,Foo: 2,Foo: 3,Foo: 
4,Foo: 5,Foo: 6,Foo: 7");
+               assertList(x.append((List<Header>)null), "Foo: 1,Foo: 2,Foo: 
3,Foo: 4,Foo: 5,Foo: 6,Foo: 7");
+               assertEmpty(new HeaderList.Void());
        }
 
-       @Test
-       public void a02_creators() {
-               HeaderList x;
-
-               x = headerList(FOO_1, FOO_2, null);
-               assertObject(x).isString("[Foo: 1, Foo: 2]");
-
-               x = headerList(alist(FOO_1, FOO_2, null));
-               assertObject(x).isString("[Foo: 1, Foo: 2]");
-
-               x = headerList("Foo","1","Foo","2");
-               assertObject(x).isString("[Foo: 1, Foo: 2]");
-
-               assertThrown(()->headerList("Foo")).asMessage().is("Odd number 
of parameters passed into HeaderList.ofPairs()");
-
-               x = HeaderList.of((List<Header>)null);
-               assertObject(x).isString("[]");
-
-               x = HeaderList.of(Collections.emptyList());
-               assertObject(x).isString("[]");
-
-               x = HeaderList.of(alist(FOO_1));
-               assertObject(x).isString("[Foo: 1]");
-
-               x = HeaderList.of((Header[])null);
-               assertObject(x).isString("[]");
-
-               x = HeaderList.of();
-               assertObject(x).isString("[]");
-
-               x = HeaderList.of(FOO_1);
-               assertObject(x).isString("[Foo: 1]");
-
-               x = HeaderList.ofPairs((String[])null);
-               assertObject(x).isString("[]");
-
-               x = HeaderList.ofPairs();
-               assertObject(x).isString("[]");
+       @Test void a02_creators() {
+               assertList(headerList(FOO_1, FOO_2, null), "Foo: 1,Foo: 2");
+               assertList(headerList(alist(FOO_1, FOO_2, null)), "Foo: 1,Foo: 
2");
+               assertList(headerList("Foo","1","Foo","2"), "Foo: 1,Foo: 2");
+               assertThrows(IllegalArgumentException.class, 
()->headerList("Foo"), "Odd number of parameters passed into 
HeaderList.ofPairs()");
+               assertEmpty(HeaderList.of((List<Header>)null));
+               assertEmpty(HeaderList.of(Collections.emptyList()));
+               assertList(HeaderList.of(alist(FOO_1)), "Foo: 1");
+               assertEmpty(HeaderList.of((Header[])null));
+               assertEmpty(HeaderList.of());
+               assertList(HeaderList.of(FOO_1), "Foo: 1");
+               assertEmpty(HeaderList.ofPairs((String[])null));
+               assertEmpty(HeaderList.ofPairs());
        }
 
-       @Test
-       public void a03_addMethods() {
-               String pname = "HeaderSupplierTest.x";
+       @Test void a03_addMethods() {
+               var pname = "HeaderSupplierTest.x";
 
-               HeaderList x = HeaderList.create().resolving();
+               var x = HeaderList.create().resolving();
                System.setProperty(pname, "y");
 
                x.append("X1","bar");
@@ -122,39 +84,36 @@ public class HeaderList_Test {
                x.append("X4",()->"$S{"+pname+"}");
                
x.append(SerializedHeader.of("X5","bar",openApiSession(),null,false));
 
-               assertObject(x).isString("[X1: bar, X2: y, X3: bar, X4: y, X5: 
bar]");
+               assertList(x, "X1: bar,X2: y,X3: bar,X4: y,X5: bar");
 
                System.setProperty(pname, "z");
 
-               assertObject(x).isString("[X1: bar, X2: z, X3: bar, X4: z, X5: 
bar]");
+               assertList(x, "X1: bar,X2: z,X3: bar,X4: z,X5: bar");
 
                System.clearProperty(pname);
        }
 
-       @Test
-       public void a04_toArrayMethods() {
-               HeaderList x = HeaderList
+       @Test void a04_toArrayMethods() {
+               var x = HeaderList
                        .create()
                        .append("X1","1")
                        .append(headerList("X2","2").getAll());
-               assertObject(x).isString("[X1: 1, X2: 2]");
+               assertList(x, "X1: 1,X2: 2");
        }
 
-       @Test
-       public void a05_copy() {
-               HeaderList x = HeaderList.of(FOO_1).copy();
-               assertObject(x).isString("[Foo: 1]");
+       @Test void a05_copy() {
+               var x = HeaderList.of(FOO_1).copy();
+               assertList(x, "Foo: 1");
        }
 
-       @Test
-       public void a06_getCondensed() {
-               HeaderList x = HeaderList.of(FOO_1);
-               assertOptional(x.get((String)null)).isNull();
-               assertOptional(x.get("Foo")).isString("Foo: 1");
-               assertOptional(x.get("Bar")).isNull();
+       @Test void a06_getCondensed() {
+               var x = HeaderList.of(FOO_1);
+               assertEmpty(x.get((String)null));
+               assertString("Foo: 1", x.get("Foo"));
+               assertEmpty(x.get("Bar"));
                x = HeaderList.of(FOO_1, FOO_2, FOO_3, X_x);
-               assertOptional(x.get("Foo")).isString("Foo: 1, 2, 3");
-               assertOptional(x.get("Bar")).isNull();
+               assertString("Foo: 1, 2, 3", x.get("Foo"));
+               assertEmpty(x.get("Bar"));
        }
 
        @org.apache.juneau.http.annotation.Header("Foo")
@@ -166,158 +125,139 @@ public class HeaderList_Test {
                }
        }
 
-       @Test
-       public void a07_getCondensed_asType() {
-               HeaderList x = HeaderList.of(FOO_1);
-               assertOptional(x.get(null, Allow.class)).isNull();
-               assertOptional(x.get("Foo", Allow.class)).isString("Allow: 1");
-               assertOptional(x.get("Bar", Allow.class)).isNull();
+       @Test void a07_getCondensed_asType() {
+               var x = HeaderList.of(FOO_1);
+               assertEmpty(x.get(null, Allow.class));
+               assertString("Allow: 1", x.get("Foo", Allow.class));
+               assertEmpty(x.get("Bar", Allow.class));
                x = HeaderList.of(FOO_1, FOO_2, FOO_3, X_x);
-               assertOptional(x.get("Foo", Allow.class)).isString("Allow: 1, 
2, 3");
-               assertOptional(x.get("Bar", Allow.class)).isNull();
-               assertOptional(x.get(Foo.class)).isString("Foo: 1, 2, 3");
-               final HeaderList x2 = x;
-               assertThrown(()->x2.get(String.class)).asMessage().is("Header 
name could not be found on bean type 'java.lang.String'");
+               assertString("Allow: 1, 2, 3", x.get("Foo", Allow.class));
+               assertEmpty(x.get("Bar", Allow.class));
+               assertString("Foo: 1, 2, 3", x.get(Foo.class));
+               final var x2 = x;
+               assertThrows(IllegalArgumentException.class, 
()->x2.get(String.class), "Header name could not be found on bean type 
'java.lang.String'");
        }
 
-       @Test
-       public void a08_get() {
-               HeaderList x = HeaderList.of(FOO_1, FOO_2, X_x);
-               assertArray(x.getAll(null)).isString("[]");
-               assertArray(x.getAll("Foo")).isString("[Foo: 1, Foo: 2]");
-               assertArray(x.getAll("FOO")).isString("[Foo: 1, Foo: 2]");
-               assertArray(x.getAll("Bar")).isString("[]");
+       @Test void a08_get() {
+               var x = HeaderList.of(FOO_1, FOO_2, X_x);
+               assertArray(x.getAll(null));
+               assertArray(x.getAll("Foo"), "Foo: 1,Foo: 2");
+               assertArray(x.getAll("FOO"), "Foo: 1,Foo: 2");
+               assertArray(x.getAll("Bar"));
        }
 
-       @Test
-       public void a09_getFirst() {
-               HeaderList x = HeaderList.of(FOO_1, FOO_2, X_x);
-               assertOptional(x.getFirst(null)).isNull();
-               assertOptional(x.getFirst("Foo")).isString("Foo: 1");
-               assertOptional(x.getFirst("FOO")).isString("Foo: 1");
-               assertOptional(x.getFirst("Bar")).isNull();
+       @Test void a09_getFirst() {
+               var x = HeaderList.of(FOO_1, FOO_2, X_x);
+               assertEmpty(x.getFirst(null));
+               assertString("Foo: 1", x.getFirst("Foo"));
+               assertString("Foo: 1", x.getFirst("FOO"));
+               assertEmpty(x.getFirst("Bar"));
        }
 
-       @Test
-       public void a10_getLast() {
-               HeaderList x = HeaderList.of(FOO_1, FOO_2, X_x);
-               assertOptional(x.getLast(null)).isNull();
-               assertOptional(x.getLast("Foo")).isString("Foo: 2");
-               assertOptional(x.getLast("FOO")).isString("Foo: 2");
-               assertOptional(x.getLast("Bar")).isNull();
+       @Test void a10_getLast() {
+               var x = HeaderList.of(FOO_1, FOO_2, X_x);
+               assertEmpty(x.getLast(null));
+               assertString("Foo: 2", x.getLast("Foo"));
+               assertString("Foo: 2", x.getLast("FOO"));
+               assertEmpty(x.getLast("Bar"));
        }
 
-       @Test
-       public void a11_contains() {
-               HeaderList x = HeaderList.of(FOO_1, FOO_2, X_x);
-               assertBoolean(x.contains(null)).isFalse();
-               assertBoolean(x.contains("Foo")).isTrue();
-               assertBoolean(x.contains("FOO")).isTrue();
-               assertBoolean(x.contains("Bar")).isFalse();
+       @Test void a11_contains() {
+               var x = HeaderList.of(FOO_1, FOO_2, X_x);
+               assertFalse(x.contains(null));
+               assertTrue(x.contains("Foo"));
+               assertTrue(x.contains("FOO"));
+               assertFalse(x.contains("Bar"));
        }
 
-       @Test
-       public void a12_headerIterator_all() {
-               HeaderList x = HeaderList.of();
-               assertBoolean(x.headerIterator().hasNext()).isFalse();
-               x = HeaderList.of(FOO_1);
-               assertBoolean(x.headerIterator().hasNext()).isTrue();
+       @Test void a12_headerIterator_all() {
+               assertFalse(HeaderList.of().headerIterator().hasNext());
+               assertTrue(HeaderList.of(FOO_1).headerIterator().hasNext());
        }
 
-       @Test
-       public void a13_headerIterator_single() {
-               HeaderList x = HeaderList.of();
-               assertBoolean(x.headerIterator("Foo").hasNext()).isFalse();
+       @Test void a13_headerIterator_single() {
+               var x = HeaderList.of();
+               assertFalse(x.headerIterator("Foo").hasNext());
                x = HeaderList.of(FOO_1);
-               assertBoolean(x.headerIterator("Foo").hasNext()).isTrue();
-               assertBoolean(x.headerIterator("FOO").hasNext()).isTrue();
+               assertTrue(x.headerIterator("Foo").hasNext());
+               assertTrue(x.headerIterator("FOO").hasNext());
        }
 
-       @Test
-       public void a14_forEach_all() {
-               HeaderList x = HeaderList.of();
+       @Test void a14_forEach_all() {
+               var x = HeaderList.of();
 
-               final AtomicInteger i1 = new AtomicInteger();
+               var i1 = new AtomicInteger();
                x.forEach(h -> i1.incrementAndGet());
-               assertInteger(i1.get()).is(0);
+               assertEquals(0, i1.get());
 
                x = HeaderList.of(FOO_1, FOO_2);
-               final AtomicInteger i2 = new AtomicInteger();
+               var i2 = new AtomicInteger();
                x.forEach(h -> i2.incrementAndGet());
-               assertInteger(i2.get()).is(2);
+               assertEquals(2, i2.get());
        }
 
-       @Test
-       public void a15_forEach_single() {
-               HeaderList x = HeaderList.of();
+       @Test void a15_forEach_single() {
+               var x = HeaderList.of();
 
-               final AtomicInteger i1 = new AtomicInteger();
+               var i1 = new AtomicInteger();
                x.forEach("FOO", h -> i1.incrementAndGet());
-               assertInteger(i1.get()).is(0);
+               assertEquals(0, i1.get());
 
                x = HeaderList.of(FOO_1, FOO_2, X_x);
-               final AtomicInteger i2 = new AtomicInteger();
+               var i2 = new AtomicInteger();
                x.forEach("FOO", h -> i2.incrementAndGet());
-               assertInteger(i2.get()).is(2);
+               assertEquals(2, i2.get());
        }
 
-       @Test
-       public void a16_stream_all() {
-               HeaderList x = HeaderList.of();
+       @Test void a16_stream_all() {
+               var x = HeaderList.of();
 
-               final AtomicInteger i1 = new AtomicInteger();
+               var i1 = new AtomicInteger();
                x.stream().forEach(h -> i1.incrementAndGet());
-               assertInteger(i1.get()).is(0);
+               assertEquals(0, i1.get());
 
                x = HeaderList.of(FOO_1, FOO_2);
-               final AtomicInteger i2 = new AtomicInteger();
+               var i2 = new AtomicInteger();
                x.stream().forEach(h -> i2.incrementAndGet());
-               assertInteger(i2.get()).is(2);
+               assertEquals(2, i2.get());
        }
 
-       @Test
-       public void a17_stream_single() {
-               HeaderList x = HeaderList.of();
+       @Test void a17_stream_single() {
+               var x = HeaderList.of();
 
-               final AtomicInteger i1 = new AtomicInteger();
+               var i1 = new AtomicInteger();
                x.stream("FOO").forEach(h -> i1.incrementAndGet());
-               assertInteger(i1.get()).is(0);
+               assertEquals(0, i1.get());
 
                x = HeaderList.of(FOO_1, FOO_2, X_x);
-               final AtomicInteger i2 = new AtomicInteger();
+               var i2 = new AtomicInteger();
                x.stream("FOO").forEach(h -> i2.incrementAndGet());
-               assertInteger(i2.get()).is(2);
+               assertEquals(2, i2.get());
        }
 
-       @Test
-       public void a18_caseSensitive() {
-               HeaderList x = 
HeaderList.create().caseSensitive(true).append(FOO_1, FOO_2, X_x);
-               assertArray(x.getAll("Foo")).isString("[Foo: 1, Foo: 2]");
-               assertArray(x.getAll("FOO")).isString("[]");
+       @Test void a18_caseSensitive() {
+               var x = HeaderList.create().caseSensitive(true).append(FOO_1, 
FOO_2, X_x);
+               assertArray(x.getAll("Foo"), "Foo: 1,Foo: 2");
+               assertArray(x.getAll("FOO"));
        }
 
-       @Test
-       public void a19_size() {
-               HeaderList x = HeaderList.of(FOO_1);
-               assertInteger(x.size()).is(1);
+       @Test void a19_size() {
+               assertSize(1, HeaderList.of(FOO_1));
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
        // Builder methods
        
//-----------------------------------------------------------------------------------------------------------------
 
-       @Test
-       public void b01_builder_clear() {
-               HeaderList x = HeaderList.create();
-               x.append(FOO_1);
+       @Test void b01_builder_clear() {
+               var x = HeaderList.create().append(FOO_1);
                x.clear();
-               assertObject(x).isString("[]");
+               assertEmpty(x);
        }
 
-       @Test
-       public void b02_builder_append() {
-               HeaderList x1 = HeaderList.create().append(FOO_1);
-               HeaderList x2 = HeaderList
+       @Test void b02_builder_append() {
+               var x1 = HeaderList.create().append(FOO_1);
+               var x2 = HeaderList
                        .create()
                        .append()
                        .append((HeaderList)null)
@@ -329,13 +269,12 @@ public class HeaderList_Test {
                        .append("Bar", ()->"b2")
                        .append((List<Header>)null)
                        .append(alist(FOO_4));
-               assertObject(x2).isString("[Foo: 1, Foo: 2, Foo: 3, Bar: b1, 
Bar: b2, Foo: 4]");
+               assertList(x2, "Foo: 1", "Foo: 2", "Foo: 3", "Bar: b1", "Bar: 
b2", "Foo: 4");
        }
 
-       @Test
-       public void b03_builder_prepend() {
-               HeaderList x1 = HeaderList.create().append(FOO_1);
-               HeaderList x2 = HeaderList
+       @Test void b03_builder_prepend() {
+               var x1 = HeaderList.create().append(FOO_1);
+               var x2 = HeaderList
                        .create()
                        .prepend()
                        .prepend((HeaderList)null)
@@ -347,12 +286,11 @@ public class HeaderList_Test {
                        .prepend("Bar", ()->"b2")
                        .prepend((List<Header>)null)
                        .prepend(alist(FOO_4));
-               assertObject(x2).isString("[Foo: 4, Bar: b2, Bar: b1, Foo: 2, 
Foo: 3, Foo: 1]");
+               assertList(x2, "Foo: 4,Bar: b2,Bar: b1,Foo: 2,Foo: 3,Foo: 1");
        }
 
-       @Test
-       public void b04_builder_remove() {
-               HeaderList x = HeaderList
+       @Test void b04_builder_remove() {
+               var x = HeaderList
                        .create()
                        .append(FOO_1,FOO_2,FOO_3,FOO_4,FOO_5,FOO_6,FOO_7)
                        .remove((HeaderList)null)
@@ -361,160 +299,155 @@ public class HeaderList_Test {
                        .remove(FOO_2)
                        .remove(FOO_3, FOO_4)
                        .remove(alist(FOO_5));
-               assertObject(x).isString("[Foo: 6, Foo: 7]");
+               assertList(x, "Foo: 6,Foo: 7");
 
                x = 
HeaderList.create().append(FOO_1,FOO_2).remove((String[])null).remove("Bar","Foo");
-               assertObject(x).isString("[]");
+               assertEmpty(x);
        }
 
-       @Test
-       public void b05_builder_set() {
-               HeaderList x = null;
-
-               x = HeaderList
+       @Test void b05_builder_set() {
+               var x = HeaderList
                        .create()
                        .append(FOO_1,FOO_2)
                        .set(FOO_3)
                        .set(BAR_1)
                        .set((Header)null)
                        .set((HeaderList)null);
-               assertObject(x).isString("[Foo: 3, Bar: 1]");
+               assertList(x, "Foo: 3,Bar: 1");
 
                x = HeaderList
                        .create()
                        .append(BAR_1,FOO_1,FOO_2,BAR_2)
                        .set(FOO_3);
-               assertObject(x).isString("[Bar: 1, Foo: 3, Bar: 2]");
+               assertList(x, "Bar: 1,Foo: 3,Bar: 2");
 
                x = HeaderList
                        .create()
                        .append(BAR_1,FOO_1,FOO_2,BAR_2)
                        .set((Header[])null)
                        .set(null,FOO_3,FOO_4,FOO_5);
-               assertObject(x).isString("[Bar: 1, Bar: 2, Foo: 3, Foo: 4, Foo: 
5]");
+               assertList(x, "Bar: 1,Bar: 2,Foo: 3,Foo: 4,Foo: 5");
 
                x = HeaderList
                        .create()
                        .append(BAR_1,FOO_1,FOO_2,BAR_2)
                        .set((List<Header>)null)
                        .set(alist(null,FOO_3,FOO_4,FOO_5));
-               assertObject(x).isString("[Bar: 1, Bar: 2, Foo: 3, Foo: 4, Foo: 
5]");
+               assertList(x, "Bar: 1,Bar: 2,Foo: 3,Foo: 4,Foo: 5");
 
                x = HeaderList
                        .create()
                        .append(BAR_1,FOO_1,FOO_2,BAR_2)
                        .set("FOO", "x");
-               assertObject(x).isString("[Bar: 1, FOO: x, Bar: 2]");
+               assertList(x, "Bar: 1,FOO: x,Bar: 2");
 
                x = HeaderList
                        .create()
                        .append(BAR_1,FOO_1,FOO_2,BAR_2)
                        .set("FOO", ()->"x");
-               assertObject(x).isString("[Bar: 1, FOO: x, Bar: 2]");
+               assertList(x, "Bar: 1,FOO: x,Bar: 2");
 
                x = HeaderList
                        .create()
                        .caseSensitive(true)
                        .append(BAR_1,FOO_1,FOO_2,BAR_2)
                        .set("FOO", ()->"x");
-               assertObject(x).isString("[Bar: 1, Foo: 1, Foo: 2, Bar: 2, FOO: 
x]");
+               assertList(x, "Bar: 1,Foo: 1,Foo: 2,Bar: 2,FOO: x");
 
                x = HeaderList
                        .create()
                        .append(BAR_1,FOO_1,FOO_2,BAR_2)
                        .set(HeaderList.of(FOO_3,FOO_4));
-               assertObject(x).isString("[Bar: 1, Bar: 2, Foo: 3, Foo: 4]");
+               assertList(x, "Bar: 1,Bar: 2,Foo: 3,Foo: 4");
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
        // BasicHeaderIterator
        
//-----------------------------------------------------------------------------------------------------------------
 
-       @Test
-       public void c01_iterators() {
-               HeaderList x = 
HeaderList.of(Accept.TEXT_XML,ContentType.TEXT_XML);
+       @Test void c01_iterators() {
+               var x = HeaderList.of(Accept.TEXT_XML,ContentType.TEXT_XML);
 
-               HeaderIterator i1 = x.headerIterator();
-               assertObject(i1.nextHeader()).isString("Accept: text/xml");
-               assertObject(i1.nextHeader()).isString("Content-Type: 
text/xml");
-               assertThrown(i1::nextHeader).asMessage().is("Iteration already 
finished.");
+               var i1 = x.headerIterator();
+               assertString("Accept: text/xml", i1.nextHeader());
+               assertString("Content-Type: text/xml", i1.nextHeader());
+               assertThrows(NoSuchElementException.class, i1::nextHeader, 
"Iteration already finished.");
 
-               HeaderIterator i2 = x.headerIterator();
-               assertObject(i2.next()).isString("Accept: text/xml");
-               assertObject(i2.nextHeader()).isString("Content-Type: 
text/xml");
-               assertThrown(i2::next).asMessage().is("Iteration already 
finished.");
+               var i2 = x.headerIterator();
+               assertString("Accept: text/xml", i2.next());
+               assertString("Content-Type: text/xml", i2.nextHeader());
+               assertThrows(NoSuchElementException.class, i2::next, "Iteration 
already finished.");
 
-               HeaderIterator i3 = x.headerIterator("accept");
-               assertObject(i3.nextHeader()).isString("Accept: text/xml");
-               assertThrown(i3::nextHeader).asMessage().is("Iteration already 
finished.");
+               var i3 = x.headerIterator("accept");
+               assertString("Accept: text/xml", i3.nextHeader());
+               assertThrows(NoSuchElementException.class, i3::nextHeader, 
"Iteration already finished.");
 
-               HeaderList x2 = 
HeaderList.create().append(Accept.TEXT_XML,ContentType.TEXT_XML).caseSensitive(true);
+               var x2 = 
HeaderList.create().append(Accept.TEXT_XML,ContentType.TEXT_XML).caseSensitive(true);
 
-               HeaderIterator i4 = x2.headerIterator("Accept");
-               assertObject(i4.nextHeader()).isString("Accept: text/xml");
-               assertThrown(i4::nextHeader).asMessage().is("Iteration already 
finished.");
+               var i4 = x2.headerIterator("Accept");
+               assertString("Accept: text/xml", i4.nextHeader());
+               assertThrows(NoSuchElementException.class, i4::nextHeader, 
"Iteration already finished.");
 
-               HeaderIterator i5 = x2.headerIterator("accept");
-               assertThrown(i5::nextHeader).asMessage().is("Iteration already 
finished.");
+               var i5 = x2.headerIterator("accept");
+               assertThrows(NoSuchElementException.class, i5::nextHeader, 
"Iteration already finished.");
 
-               assertThrown(i5::remove).asMessage().is("Not supported.");
+               assertThrows(UnsupportedOperationException.class, i5::remove, 
"Not supported.");
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
        // Default headers
        
//-----------------------------------------------------------------------------------------------------------------
 
-       @Test
-       public void d01_defaultHeaders() {
-               HeaderList x1 = HeaderList.create().setDefault(Accept.TEXT_XML);
-               assertObject(x1).isString("[Accept: text/xml]");
+       @Test void d01_defaultHeaders() {
+               var x1 = HeaderList.create().setDefault(Accept.TEXT_XML);
+               assertList(x1, "Accept: text/xml");
 
-               HeaderList x2 = 
HeaderList.create().set(Accept.TEXT_PLAIN).setDefault(Accept.TEXT_XML);
-               assertObject(x2).isString("[Accept: text/plain]");
+               var x2 = 
HeaderList.create().set(Accept.TEXT_PLAIN).setDefault(Accept.TEXT_XML);
+               assertList(x2, "Accept: text/plain");
 
-               HeaderList x3 = 
HeaderList.create().set(ContentType.TEXT_XML,Accept.TEXT_PLAIN,ContentType.TEXT_XML).setDefault(Accept.TEXT_XML);
-               assertObject(x3).isString("[Content-Type: text/xml, Accept: 
text/plain, Content-Type: text/xml]");
+               var x3 = 
HeaderList.create().set(ContentType.TEXT_XML,Accept.TEXT_PLAIN,ContentType.TEXT_XML).setDefault(Accept.TEXT_XML);
+               assertList(x3, "Content-Type: text/xml,Accept: 
text/plain,Content-Type: text/xml");
 
-               HeaderList x4 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_XML).setDefault(Accept.TEXT_XML);
-               assertObject(x4).isString("[Content-Type: text/xml, 
Content-Type: text/xml, Accept: text/xml]");
+               var x4 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_XML).setDefault(Accept.TEXT_XML);
+               assertList(x4, "Content-Type: text/xml,Content-Type: 
text/xml,Accept: text/xml");
 
-               HeaderList x5 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_XML).setDefault(Accept.TEXT_XML).setDefault(ContentType.TEXT_HTML);
-               assertObject(x5).isString("[Content-Type: text/xml, 
Content-Type: text/xml, Accept: text/xml]");
+               var x5 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_XML).setDefault(Accept.TEXT_XML).setDefault(ContentType.TEXT_HTML);
+               assertList(x5, "Content-Type: text/xml,Content-Type: 
text/xml,Accept: text/xml");
 
-               HeaderList x6 = 
HeaderList.create().setDefault(Accept.TEXT_XML,Accept.TEXT_PLAIN);
-               assertObject(x6).isString("[Accept: text/xml]");
+               var x6 = 
HeaderList.create().setDefault(Accept.TEXT_XML,Accept.TEXT_PLAIN);
+               assertList(x6, "Accept: text/xml");
 
-               HeaderList x7 = 
HeaderList.create().setDefault(Accept.TEXT_XML).setDefault(Accept.TEXT_PLAIN);
-               assertObject(x7).isString("[Accept: text/xml]");
+               var x7 = 
HeaderList.create().setDefault(Accept.TEXT_XML).setDefault(Accept.TEXT_PLAIN);
+               assertList(x7, "Accept: text/xml");
 
-               HeaderList x8 = 
HeaderList.create().setDefault(Accept.TEXT_XML,Accept.TEXT_HTML).setDefault(Accept.TEXT_PLAIN);
-               assertObject(x8).isString("[Accept: text/xml]");
+               var x8 = 
HeaderList.create().setDefault(Accept.TEXT_XML,Accept.TEXT_HTML).setDefault(Accept.TEXT_PLAIN);
+               assertList(x8, "Accept: text/xml");
 
-               HeaderList x9 = HeaderList
+               var x9 = HeaderList
                        .create()
                        .setDefault((Header)null)
                        .setDefault((HeaderList)null)
                        .setDefault((Header[])null)
                        .setDefault((List<Header>)null);
-               assertObject(x9).isString("[]");
+               assertList(x9);
 
-               HeaderList x10 = 
HeaderList.create().setDefault("Accept","text/xml");
-               assertObject(x10).isString("[Accept: text/xml]");
+               var x10 = HeaderList.create().setDefault("Accept","text/xml");
+               assertList(x10, "Accept: text/xml");
 
-               HeaderList x11 = 
HeaderList.create().setDefault("Accept",()->"text/xml");
-               assertObject(x11).isString("[Accept: text/xml]");
+               var x11 = 
HeaderList.create().setDefault("Accept",()->"text/xml");
+               assertList(x11, "Accept: text/xml");
 
-               HeaderList x12 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_PLAIN).setDefault(alist(Accept.TEXT_XML,ContentType.TEXT_HTML,null));
-               assertObject(x12).isString("[Content-Type: text/xml, 
Content-Type: text/plain, Accept: text/xml]");
+               var x12 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_PLAIN).setDefault(alist(Accept.TEXT_XML,ContentType.TEXT_HTML,null));
+               assertList(x12, "Content-Type: text/xml,Content-Type: 
text/plain,Accept: text/xml");
 
-               HeaderList x13 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_PLAIN).setDefault(HeaderList.of(Accept.TEXT_XML,ContentType.TEXT_HTML,null));
-               assertObject(x13).isString("[Content-Type: text/xml, 
Content-Type: text/plain, Accept: text/xml]");
+               var x13 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_PLAIN).setDefault(HeaderList.of(Accept.TEXT_XML,ContentType.TEXT_HTML,null));
+               assertList(x13, "Content-Type: text/xml,Content-Type: 
text/plain,Accept: text/xml");
 
-               HeaderList x14 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_PLAIN)
+               var x14 = 
HeaderList.create().set(ContentType.TEXT_XML,ContentType.TEXT_PLAIN)
                        
.setDefault(alist(Accept.TEXT_XML,ContentType.TEXT_HTML,null))
                        
.setDefault(alist(Accept.TEXT_HTML,ContentType.TEXT_XML,null))
                        .setDefault(alist(Age.of(1)));
-               assertObject(x14).isString("[Content-Type: text/xml, 
Content-Type: text/plain, Accept: text/xml, Age: 1]");
+               assertList(x14, "Content-Type: text/xml,Content-Type: 
text/plain,Accept: text/xml,Age: 1");
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/StringUtilsTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
index 2b115f9d4..fab7ddd65 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
@@ -402,9 +402,9 @@ class StringUtilsTest extends SimpleTestBase {
                assertArray(split(""));
                assertArray(split("1"), "1");
                assertArray(split("1,2"), "1", "2");
-               assertArray(split("1\\,2"), "1,2");
+               assertArray(split("1\\,2"), ">1,2");
                assertArray(split("1\\\\,2"), "1\\", "2");
-               assertArray(split("1\\\\\\,2"), "1\\,2");
+               assertArray(split("1\\\\\\,2"), ">1\\,2");
                assertArray(split("1,2\\"), "1", "2\\");
                assertArray(split("1,2\\\\"), "1", "2\\");
                assertArray(split("1,2\\,"), "1", "2,");
@@ -416,9 +416,9 @@ class StringUtilsTest extends SimpleTestBase {
                assertString("[]", split2test(""));
                assertString("[1]", split2test("1"));
                assertString("[1,2]", split2test("1,2"));
-               assertList(split2test("1\\,2"), "1,2");
+               assertList(split2test("1\\,2"), ">1,2");
                assertList(split2test("1\\\\,2"), "1\\", "2");
-               assertList(split2test("1\\\\\\,2"), "1\\,2");
+               assertList(split2test("1\\\\\\,2"), ">1\\,2");
                assertList(split2test("1,2\\"), "1", "2\\");
                assertList(split2test("1,2\\\\"), "1", "2\\");
                assertList(split2test("1,2\\,"), "1", "2,");
@@ -875,7 +875,7 @@ class StringUtilsTest extends SimpleTestBase {
                assertList(splitNested("a,b{c,d}"), "a", "b{c,d}");
                assertList(splitNested("a,b{c,d{e,f}}"), "a", "b{c,d{e,f}}");
                assertList(splitNested("a { b , c } , d "), "a { b , c }", "d");
-               assertList(splitNested("a\\,b"), "a,b");
+               assertList(splitNested("a\\,b"), ">a,b");
                assertList(splitNested("a\\\\,b"), "a\\", "b");
        }
 


Reply via email to