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 8cfef7c4d Unit test modernization.
8cfef7c4d is described below

commit 8cfef7c4d69fbc4e6fc3605033485734b958d90f
Author: James Bognar <[email protected]>
AuthorDate: Wed Aug 6 13:18:32 2025 -0400

    Unit test modernization.
---
 .../test/java/org/apache/juneau/ClassMetaTest.java | 16 +++---
 .../java/org/apache/juneau/SimpleTestBase.java     | 14 +++++
 .../test/java/org/apache/juneau/Version_Test.java  | 14 ++---
 .../juneau/annotation/BeanAnnotation_Test.java     |  9 +++-
 .../annotation/BeanIgnoreAnnotation_Test.java      | 11 +++-
 .../juneau/annotation/BeancAnnotation_Test.java    |  8 +--
 .../juneau/annotation/BeanpAnnotation_Test.java    |  8 +--
 .../juneau/annotation/ExampleAnnotation_Test.java  |  6 ++-
 .../annotation/MarshalledAnnotation_Test.java      |  8 +--
 .../annotation/NamePropertyAnnotation_Test.java    |  8 +--
 .../annotation/ParentPropertyAnnotation_Test.java  |  8 +--
 .../juneau/annotation/SwapAnnotation_Test.java     |  8 +--
 .../juneau/annotation/UriAnnotation_Test.java      |  8 +--
 .../java/org/apache/juneau/config/ConfigTest.java  | 59 +++++++++++-----------
 .../juneau/csv/annotation/CsvAnnotation_Test.java  |  6 ++-
 .../html/annotation/HtmlAnnotation_Test.java       |  6 ++-
 .../html/annotation/HtmlLinkAnnotation_Test.java   |  6 ++-
 .../apache/juneau/http/BasicHttpResource_Test.java |  2 +-
 .../juneau/http/MediaRanges_FindMatch_Test.java    |  6 +--
 .../org/apache/juneau/http/MediaRanges_Test.java   | 10 ++--
 .../org/apache/juneau/http/MediaType_Test.java     |  8 +--
 .../org/apache/juneau/http/StringRange_Test.java   | 12 +++--
 .../org/apache/juneau/http/StringRanges_Test.java  | 24 +++++----
 .../http/annotation/ContactAnnotation_Test.java    |  6 ++-
 .../http/annotation/ContentAnnotation_Test.java    |  6 ++-
 .../http/annotation/FormDataAnnotation_Test.java   |  6 ++-
 .../annotation/HasFormDataAnnotation_Test.java     |  3 +-
 .../http/annotation/HasQueryAnnotation_Test.java   |  3 +-
 .../http/annotation/HeaderAnnotation_Test.java     |  6 ++-
 .../http/annotation/LicenseAnnotation_Test.java    |  6 ++-
 .../http/annotation/PathAnnotation_Test.java       |  6 ++-
 .../http/annotation/QueryAnnotation_Test.java      |  6 ++-
 .../http/annotation/RequestAnnotation_Test.java    |  6 ++-
 .../http/annotation/ResponseAnnotation_Test.java   |  6 ++-
 .../annotation/ResponseStatusAnnotation_Test.java  |  6 ++-
 .../juneau/http/annotation/TagAnnotation_Test.java |  6 ++-
 .../org/apache/juneau/http/header/Accept_Test.java |  4 +-
 .../http/header/BasicIntegerHeader_Test.java       |  2 +-
 .../http/header/BasicMediaTypeHeader_Test.java     |  4 +-
 .../juneau/http/header/ContentType_Match_Test.java |  4 +-
 .../org/apache/juneau/http/part/PartList_Test.java | 18 +++----
 .../json/annotation/JsonAnnotation_Test.java       |  8 +--
 .../annotation/ExternalDocsAnnotation_Test.java    |  6 ++-
 .../annotation/ItemsAnnotation_Test.java           |  8 +--
 .../annotation/SchemaAnnotation_Test.java          |  6 ++-
 .../annotation/SubItemsAnnotation_Test.java        |  8 +--
 .../msgpack/annotation/MsgPackAnnotation_Test.java |  9 +++-
 .../apache/juneau/mstat/MethodExecStore_Test.java  | 25 ++++-----
 .../org/apache/juneau/mstat/ThrownStore_Test.java  | 36 ++++++-------
 .../oapi/annotation/OpenApiAnnotation_Test.java    |  8 +--
 .../annotation/PlainTextAnnotation_Test.java       |  8 +--
 .../org/apache/juneau/reflect/ClassInfoTest.java   | 16 +++---
 .../rest/annotation/OpSwaggerAnnotation_Test.java  |  6 ++-
 .../rest/annotation/RestAnnotation_Test.java       |  6 ++-
 .../rest/annotation/RestDeleteAnnotation_Test.java |  6 ++-
 .../annotation/RestDestroyAnnotation_Test.java     |  6 ++-
 .../annotation/RestEndCallAnnotation_Test.java     |  6 ++-
 .../rest/annotation/RestGetAnnotation_Test.java    |  6 ++-
 .../rest/annotation/RestInitAnnotation_Test.java   | 13 +++--
 .../rest/annotation/RestOpAnnotation_Test.java     |  6 ++-
 .../rest/annotation/RestPostAnnotation_Test.java   |  6 ++-
 .../annotation/RestPostCallAnnotation_Test.java    |  6 ++-
 .../annotation/RestPostInitAnnotation_Test.java    |  6 ++-
 .../annotation/RestPreCallAnnotation_Test.java     |  6 ++-
 .../rest/annotation/RestPutAnnotation_Test.java    |  6 ++-
 .../annotation/RestStartCallAnnotation_Test.java   |  6 ++-
 .../rest/annotation/SwaggerAnnotation_Test.java    | 26 ++++------
 .../juneau/rest/client/RestCallException_Test.java |  2 +-
 .../soap/annotation/SoapXmlAnnotation_Test.java    |  8 +--
 .../juneau/uon/annotation/UonAnnotation_Test.java  |  8 +--
 .../annotation/UrlEncodingAnnotation_Test.java     |  8 +--
 .../apache/juneau/utils/Tuple2Function_Test.java   |  5 +-
 .../java/org/apache/juneau/utils/Tuple2_Test.java  |  6 +--
 .../apache/juneau/utils/Tuple3Function_Test.java   |  5 +-
 .../java/org/apache/juneau/utils/Tuple3_Test.java  |  8 +--
 .../apache/juneau/utils/Tuple4Function_Test.java   |  5 +-
 .../java/org/apache/juneau/utils/Tuple4_Test.java  | 10 ++--
 .../apache/juneau/utils/Tuple5Function_Test.java   |  5 +-
 .../java/org/apache/juneau/utils/Tuple5_Test.java  | 12 ++---
 .../juneau/xml/annotation/XmlAnnotation_Test.java  |  8 +--
 80 files changed, 425 insertions(+), 289 deletions(-)

diff --git a/juneau-utest/src/test/java/org/apache/juneau/ClassMetaTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/ClassMetaTest.java
index c2d84c2ee..179396474 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/ClassMetaTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/ClassMetaTest.java
@@ -321,19 +321,19 @@ public class ClassMetaTest {
                ClassMeta<?> c3 = bc.getClassMeta(C3.class);
                ClassMeta<?> c4 = bc.getClassMeta(C4.class);
                ClassMeta<?> c5 = bc.getClassMeta(C5.class);
-               assertInteger(c3.firstAnnotation(A.class, 
null).get().value()).is(2);
-               assertInteger(c4.firstAnnotation(A.class, 
null).get().value()).is(2);
-               assertInteger(c5.firstAnnotation(A.class, 
null).get().value()).is(3);
-               assertInteger(c3.firstAnnotation(A.class, x -> x.value() == 
5).get().value()).is(5);
+               assertEquals(2, c3.firstAnnotation(A.class, 
null).get().value());
+               assertEquals(2, c4.firstAnnotation(A.class, 
null).get().value());
+               assertEquals(3, c5.firstAnnotation(A.class, 
null).get().value());
+               assertEquals(5, c3.firstAnnotation(A.class, x -> x.value() == 
5).get().value());
        }
        @Test
        public void lastAnnotation() {
                ClassMeta<?> c3 = bc.getClassMeta(C3.class);
                ClassMeta<?> c4 = bc.getClassMeta(C4.class);
                ClassMeta<?> c5 = bc.getClassMeta(C5.class);
-               assertInteger(c3.lastAnnotation(A.class, 
null).get().value()).is(7);
-               assertInteger(c4.lastAnnotation(A.class, 
null).get().value()).is(7);
-               assertInteger(c5.lastAnnotation(A.class, 
null).get().value()).is(3);
-               assertInteger(c3.lastAnnotation(A.class, x -> x.value() == 
5).get().value()).is(5);
+               assertEquals(7, c3.lastAnnotation(A.class, null).get().value());
+               assertEquals(7, c4.lastAnnotation(A.class, null).get().value());
+               assertEquals(3, c5.lastAnnotation(A.class, null).get().value());
+               assertEquals(5, c3.lastAnnotation(A.class, x -> x.value() == 
5).get().value());
        }
 }
\ No newline at end of file
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 9c95f2886..81972d281 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/SimpleTestBase.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/SimpleTestBase.java
@@ -240,6 +240,20 @@ public abstract class SimpleTestBase {
                }
        }
 
+       protected static void assertNotEqualsAny(Object o, Object...values) {
+               for (var i = 0; i < values.length; i++) {
+                       if (eq(o, values[i]))
+                               ffail("Element at index {0} unexpectedly 
matched.  expected={1}, actual={2}", i, values[i], s(o));
+               }
+       }
+
+       protected static void assertEqualsAll(Object...values) {
+               for (var i = 1; i < values.length; i++) {
+                       if (ne(values[0], values[i]))
+                               ffail("Elements at index {0} and {1} did not 
match.", 0, i);
+               }
+       }
+
        private static String getReadableEntry(Object o, String name) {
                var i = name.indexOf("{");
                var pn = i == -1 ? name : name.substring(0, i);
diff --git a/juneau-utest/src/test/java/org/apache/juneau/Version_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/Version_Test.java
index 85227d457..ee9198d85 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/Version_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/Version_Test.java
@@ -15,7 +15,7 @@ package org.apache.juneau;
 import static org.apache.juneau.Version.*;
 import static org.apache.juneau.assertions.Assertions.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.util.*;
@@ -31,12 +31,12 @@ public class Version_Test {
                assertObject(of("")).asString().is("0");
 
                Version x = of("1.2.3");
-               assertInteger(x.getMajor().orElse(null)).is(1);
-               assertInteger(x.getMinor().orElse(null)).is(2);
-               assertInteger(x.getMaintenance().orElse(null)).is(3);
-               assertInteger(x.getPart(0).orElse(null)).is(1);
-               assertInteger(x.getPart(1).orElse(null)).is(2);
-               assertInteger(x.getPart(2).orElse(null)).is(3);
+               assertEquals(1, x.getMajor().orElse(null));
+               assertEquals(2, x.getMinor().orElse(null));
+               assertEquals(3, x.getMaintenance().orElse(null));
+               assertEquals(1, x.getPart(0).orElse(null));
+               assertEquals(2, x.getPart(1).orElse(null));
+               assertEquals(3, x.getPart(2).orElse(null));
                assertInteger(x.getPart(-1).orElse(null)).isNull();
                assertInteger(x.getPart(3).orElse(null)).isNull();
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanAnnotation_Test.java
index 543ca59a1..d387a2772 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanAnnotation_Test.java
@@ -110,7 +110,9 @@ class BeanAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEquals(0, a1.hashCode());
+               assertNotEquals(-1, a1.hashCode());
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -198,6 +200,9 @@ class BeanAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEquals(0, a1.hashCode());
+               assertNotEquals(-1, a1.hashCode());
+               assertEquals(d1.hashCode(), a1.hashCode());
+               assertEquals(d2.hashCode(), a1.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanIgnoreAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanIgnoreAnnotation_Test.java
index bf1853189..ed559b609 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanIgnoreAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanIgnoreAnnotation_Test.java
@@ -14,6 +14,8 @@ package org.apache.juneau.annotation;
 
 import static org.apache.juneau.assertions.Assertions.*;
 import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -51,7 +53,9 @@ class BeanIgnoreAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEquals(0, a2.hashCode());
+               assertNotEquals(-1, a2.hashCode());
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -113,6 +117,9 @@ class BeanIgnoreAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEquals(0, a1.hashCode());
+               assertNotEquals(-1, a1.hashCode());
+               assertEquals(d1.hashCode(), a1.hashCode());
+               assertEquals(a1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeancAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeancAnnotation_Test.java
index 331061275..700d6e5ae 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeancAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeancAnnotation_Test.java
@@ -49,7 +49,8 @@ class BeancAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -99,6 +100,7 @@ class BeancAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanpAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanpAnnotation_Test.java
index f4640c2a9..56ff81a63 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanpAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanpAnnotation_Test.java
@@ -75,7 +75,8 @@ class BeanpAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a2.hashCode(), 0, -1);
+               assertEquals(a2.hashCode(), a1.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -149,6 +150,7 @@ class BeanpAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/ExampleAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/ExampleAnnotation_Test.java
index 51f30908f..7c977e374 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/ExampleAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/ExampleAnnotation_Test.java
@@ -54,7 +54,8 @@ class ExampleAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -116,6 +117,7 @@ class ExampleAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/MarshalledAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/MarshalledAnnotation_Test.java
index 0d5ced304..08a3e09e5 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/MarshalledAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/MarshalledAnnotation_Test.java
@@ -57,7 +57,8 @@ class MarshalledAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -117,6 +118,7 @@ class MarshalledAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/NamePropertyAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/NamePropertyAnnotation_Test.java
index 708388774..187e8cbad 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/NamePropertyAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/NamePropertyAnnotation_Test.java
@@ -46,7 +46,8 @@ class NamePropertyAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -102,6 +103,7 @@ class NamePropertyAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/ParentPropertyAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/ParentPropertyAnnotation_Test.java
index a9280a759..5df1130f7 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/ParentPropertyAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/ParentPropertyAnnotation_Test.java
@@ -46,7 +46,8 @@ class ParentPropertyAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -102,6 +103,7 @@ class ParentPropertyAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/SwapAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/SwapAnnotation_Test.java
index 030cbd45f..8892403ae 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/SwapAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/SwapAnnotation_Test.java
@@ -63,7 +63,8 @@ class SwapAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
        
//------------------------------------------------------------------------------------------------------------------
        // PropertyStore equivalency.
@@ -130,6 +131,7 @@ class SwapAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/UriAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/UriAnnotation_Test.java
index e0953077d..e644a4cf8 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/UriAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/UriAnnotation_Test.java
@@ -47,7 +47,8 @@ class UriAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -105,6 +106,7 @@ class UriAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/config/ConfigTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/config/ConfigTest.java
index 221c0bb92..4fe0b14ed 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/config/ConfigTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/config/ConfigTest.java
@@ -14,8 +14,7 @@ package org.apache.juneau.config;
 
 import static org.apache.juneau.assertions.Assertions.*;
 import static org.apache.juneau.utest.utils.Utils2.*;
-import static org.junit.Assert.*;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.*;
 
 import java.io.*;
 import java.net.*;
@@ -281,13 +280,13 @@ public class ConfigTest {
        @Test
        public void getInt1() {
                Config c = init("a1=1", "a2=2", "[S]", "b1=1", "b2=");
-               assertInteger(c.get("a1").asInteger().orElse(0)).is(1);
-               assertInteger(c.get("a2").asInteger().orElse(0)).is(2);
-               assertInteger(c.get("a3").asInteger().orElse(0)).is(0);
-               assertInteger(c.get("S/b1").asInteger().orElse(0)).is(1);
-               assertInteger(c.get("S/b2").asInteger().orElse(0)).is(0);
-               assertInteger(c.get("S/b3").asInteger().orElse(0)).is(0);
-               assertInteger(c.get("T/c1").asInteger().orElse(0)).is(0);
+               assertEquals(1, c.get("a1").asInteger().orElse(0));
+               assertEquals(2, c.get("a2").asInteger().orElse(0));
+               assertEquals(0, c.get("a3").asInteger().orElse(0));
+               assertEquals(1, c.get("S/b1").asInteger().orElse(0));
+               assertEquals(0, c.get("S/b2").asInteger().orElse(0));
+               assertEquals(0, c.get("S/b3").asInteger().orElse(0));
+               assertEquals(0, c.get("T/c1").asInteger().orElse(0));
        }
 
        @Test
@@ -305,13 +304,13 @@ public class ConfigTest {
        @Test
        public void getInt2() {
                Config c = init("a1=1", "a2=2", "[S]", "b1=1", "b2=");
-               assertInteger(c.get("a1").asInteger().orElse(-1)).is(1);
-               assertInteger(c.get("a2").asInteger().orElse(-1)).is(2);
-               assertInteger(c.get("a3").asInteger().orElse(-1)).is(-1);
-               assertInteger(c.get("S/b1").asInteger().orElse(-1)).is(1);
-               assertInteger(c.get("S/b2").asInteger().orElse(-1)).is(-1);
-               assertInteger(c.get("S/b3").asInteger().orElse(-1)).is(-1);
-               assertInteger(c.get("T/c1").asInteger().orElse(-1)).is(-1);
+               assertEquals(1, c.get("a1").asInteger().orElse(-1));
+               assertEquals(2, c.get("a2").asInteger().orElse(-1));
+               assertEquals(-1, c.get("a3").asInteger().orElse(-1));
+               assertEquals(1, c.get("S/b1").asInteger().orElse(-1));
+               assertEquals(-1, c.get("S/b2").asInteger().orElse(-1));
+               assertEquals(-1, c.get("S/b3").asInteger().orElse(-1));
+               assertEquals(-1, c.get("T/c1").asInteger().orElse(-1));
        }
 
        @Test
@@ -1026,16 +1025,16 @@ public class ConfigTest {
                        "[section1]", "key1 = 2", "key2 = false", "key3 = 
[4,5,6]", "key4 = http://bar";
                );
 
-               assertInteger(cf.get("key1").asInteger().get()).is(1);
+               assertEquals(1, cf.get("key1").asInteger().get());
                assertTrue(cf.get("key2").asBoolean().get());
-               assertInteger(cf.get("key3").as(int[].class).get()[2]).is(3);
-               assertInteger(cf.get("xkey3").as(int[].class).orElse(new 
int[]{4,5,6})[2]).is(6);
-               assertInteger(cf.get("X/key3").as(int[].class).orElse(new 
int[]{4,5,6})[2]).is(6);
+               assertEquals(3, cf.get("key3").as(int[].class).get()[2]);
+               assertEquals(6, cf.get("xkey3").as(int[].class).orElse(new 
int[]{4,5,6})[2]);
+               assertEquals(6, cf.get("X/key3").as(int[].class).orElse(new 
int[]{4,5,6})[2]);
                assertEquals(url("http://foo";).toString(), 
cf.get("key4").as(URL.class).get().toString());
 
-               assertInteger(cf.get("section1/key1").asInteger().get()).is(2);
+               assertEquals(2, cf.get("section1/key1").asInteger().get());
                assertFalse(cf.get("section1/key2").asBoolean().get());
-               
assertInteger(cf.get("section1/key3").as(int[].class).get()[2]).is(6);
+               assertEquals(6, 
cf.get("section1/key3").as(int[].class).get()[2]);
                assertEquals(url("http://bar";).toString(), 
cf.get("section1/key4").as(URL.class).get().toString());
 
                cf = init(
@@ -1054,14 +1053,14 @@ public class ConfigTest {
 
                cf.commit();
 
-               assertInteger(cf.get("key1").asInteger().get()).is(1);
+               assertEquals(1, cf.get("key1").asInteger().get());
                assertTrue(cf.get("key2").asBoolean().get());
-               assertInteger(cf.get("key3").as(int[].class).get()[2]).is(3);
+               assertEquals(3, cf.get("key3").as(int[].class).get()[2]);
                assertEquals(url("http://foo";).toString(), 
cf.get("key4").as(URL.class).get().toString());
 
-               assertInteger(cf.get("section1/key1").asInteger().get()).is(2);
+               assertEquals(2, cf.get("section1/key1").asInteger().get());
                assertFalse(cf.get("section1/key2").asBoolean().get());
-               
assertInteger(cf.get("section1/key3").as(int[].class).get()[2]).is(6);
+               assertEquals(6, 
cf.get("section1/key3").as(int[].class).get()[2]);
                assertEquals(url("http://bar";).toString(), 
cf.get("section1/key4").as(URL.class).get().toString());
        }
 
@@ -1238,10 +1237,10 @@ public class ConfigTest {
                        "f3 = 1 M",
                        "f4 = 1 K"
                );
-               assertInteger(cf.get("s1/f1").asInteger().get()).is(1048576);
-               assertInteger(cf.get("s1/f2").asInteger().get()).is(1024);
-               assertInteger(cf.get("s1/f3").asInteger().get()).is(1048576);
-               assertInteger(cf.get("s1/f4").asInteger().get()).is(1024);
+               assertEquals(1048576, cf.get("s1/f1").asInteger().get());
+               assertEquals(1024, cf.get("s1/f2").asInteger().get());
+               assertEquals(1048576, cf.get("s1/f3").asInteger().get());
+               assertEquals(1024, cf.get("s1/f4").asInteger().get());
        }
 
        
//====================================================================================================
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/csv/annotation/CsvAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/csv/annotation/CsvAnnotation_Test.java
index b1f5889e0..9931a9dbf 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/csv/annotation/CsvAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/csv/annotation/CsvAnnotation_Test.java
@@ -47,7 +47,8 @@ class CsvAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -105,6 +106,7 @@ class CsvAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/html/annotation/HtmlAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/html/annotation/HtmlAnnotation_Test.java
index 385ba0480..69da952b5 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/html/annotation/HtmlAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/html/annotation/HtmlAnnotation_Test.java
@@ -68,7 +68,8 @@ class HtmlAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -138,6 +139,7 @@ class HtmlAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation_Test.java
index b3c70c1d2..45a2630ff 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation_Test.java
@@ -53,7 +53,8 @@ class HtmlLinkAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -111,6 +112,7 @@ class HtmlLinkAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/BasicHttpResource_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/http/BasicHttpResource_Test.java
index 27cee4001..fe003f375 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/BasicHttpResource_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/BasicHttpResource_Test.java
@@ -35,7 +35,7 @@ class BasicHttpResource_Test extends SimpleTestBase {
                assertNull(x.getContentType());
                assertBytes(x.getContent()).isNotNull().asString().isEmpty();
                assertNull(x.getContentEncoding());
-               assertInteger(x.getHeaders().size()).is(0);
+               assertEquals(0, x.getHeaders().size());
 
                x = stringResource("foo");
                assertBytes(x.getContent()).asString().is("foo");
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_FindMatch_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_FindMatch_Test.java
index 63006217f..66cce78eb 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_FindMatch_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_FindMatch_Test.java
@@ -12,9 +12,9 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.http;
 
-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.jupiter.api.Assertions.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.util.*;
@@ -169,7 +169,7 @@ public class MediaRanges_FindMatch_Test {
                Accept a = accept(this.accept);
                MediaType[] mt = JsonParser.DEFAULT.parse(mediaTypes, 
MediaType[].class);
                int r = a.match(alist(mt));
-               assertInteger(r).setMsg("{0} failed", label).is(expected);
+               assertEquals(expected, r);
        }
 
        @Test
@@ -179,6 +179,6 @@ public class MediaRanges_FindMatch_Test {
                Collections.reverse(Arrays.asList(mt));
                int r = a.match(alist(mt));
                int expected2 = expectedReverse == -1 ? -1 : 
mt.length-expectedReverse-1;
-               assertInteger(r).setMsg("{0} failed", label).is(expected2);
+               assertEquals(expected2, r);
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_Test.java
index 38492bd50..80e18ddec 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/MediaRanges_Test.java
@@ -132,13 +132,13 @@ public class MediaRanges_Test extends SimpleTestBase {
 
        @Test void a04_match() {
                MediaRanges x1 = of("text/json");
-               assertInteger(x1.match(alist(MediaType.of("text/json")))).is(0);
-               assertInteger(x1.match(alist(MediaType.of("text/foo")))).is(-1);
-               assertInteger(x1.match(alist((MediaType)null))).is(-1);
-               assertInteger(x1.match(null)).is(-1);
+               assertEquals(0, x1.match(alist(MediaType.of("text/json"))));
+               assertEquals(-1, x1.match(alist(MediaType.of("text/foo"))));
+               assertEquals(-1, x1.match(alist((MediaType)null)));
+               assertEquals(-1, x1.match(null));
 
                MediaRanges x2 = of("");
-               
assertInteger(x2.match(alist(MediaType.of("text/json")))).is(-1);
+               assertEquals(-1, x2.match(alist(MediaType.of("text/json"))));
        }
 
        @Test void a05_getRanges() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/MediaType_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/http/MediaType_Test.java
index feefe33ac..f111b556a 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/MediaType_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/MediaType_Test.java
@@ -43,10 +43,10 @@ public class MediaType_Test extends SimpleTestBase {
 
        @Test void a02_match() {
                MediaType x1 = MediaType.of("text/json");
-               assertInteger(x1.match(x1,true)).is(100000);
+               assertEquals(100000, x1.match(x1,true));
 
-               
assertInteger(x1.match(MediaType.of("text/json+foo"),true)).is(10210);
-               
assertInteger(x1.match(MediaType.of("text/json+foo"),false)).is(0);
+               assertEquals(10210, 
x1.match(MediaType.of("text/json+foo"),true));
+               assertEquals(0, x1.match(MediaType.of("text/json+foo"),false));
        }
 
        @Test void a03_getParameter() {
@@ -66,6 +66,6 @@ public class MediaType_Test extends SimpleTestBase {
 
        @Test void a05_hashCode() {
                MediaType x1 = new MediaType("text/foo"), x2 = new 
MediaType("text/foo");
-               assertInteger(x1.hashCode()).is(x2.hashCode());
+               assertEquals(x2.hashCode(), x1.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/StringRange_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/http/StringRange_Test.java
index b1dfb219c..be877c897 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/StringRange_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/StringRange_Test.java
@@ -13,6 +13,8 @@
 package org.apache.juneau.http;
 
 import static org.apache.juneau.assertions.Assertions.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -43,11 +45,11 @@ public class StringRange_Test extends SimpleTestBase {
        }
 
        @Test void a02_match() {
-               assertInteger(of("foo").match("foo")).is(100);
-               assertInteger(of("foo").match("bar")).is(0);
-               assertInteger(of("foo").match(null)).is(0);
-               assertInteger(of("*").match("foo")).is(50);
-               assertInteger(of(null).match("foo")).is(50);
+               assertEquals(100, of("foo").match("foo"));
+               assertEquals(0, of("foo").match("bar"));
+               assertEquals(0, of("foo").match(null));
+               assertEquals(50, of("*").match("foo"));
+               assertEquals(50, of(null).match("foo"));
        }
 
        @Test void a03_getName() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/StringRanges_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/http/StringRanges_Test.java
index 82ffeabf4..0509b7d45 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/StringRanges_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/StringRanges_Test.java
@@ -15,6 +15,8 @@ package org.apache.juneau.http;
 import static org.apache.juneau.StringRanges.*;
 import static org.apache.juneau.assertions.Assertions.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import java.util.*;
 
 import org.apache.juneau.*;
@@ -25,17 +27,17 @@ public class StringRanges_Test extends SimpleTestBase {
        @Test void a01_match() {
                List<String> x = alist("foo","bar","baz");
 
-               assertInteger(of((String)null).match(x)).is(-1);
-
-               assertInteger(of("foo;q=0.5,bar").match(x)).is(1);
-               assertInteger(of("foo;q=0.5,bar").match(x)).is(1);
-               assertInteger(of("foo,*").match(x)).is(0);
-               assertInteger(of("*,bar").match(x)).is(1);
-               assertInteger(of("foo;q=0.6,bar;q=0.5").match(x)).is(0);
-               assertInteger(of("foo;q=0.6,bar;q=0.5,qux").match(x)).is(0);
-               assertInteger(of("qux").match(x)).is(-1);
-               assertInteger(of("qux,q2x;q=0").match(x)).is(-1);
-               assertInteger(of("foo;q=0").match(x)).is(-1);
+               assertEquals(-1, of((String)null).match(x));
+
+               assertEquals(1, of("foo;q=0.5,bar").match(x));
+               assertEquals(1, of("foo;q=0.5,bar").match(x));
+               assertEquals(0, of("foo,*").match(x));
+               assertEquals(1, of("*,bar").match(x));
+               assertEquals(0, of("foo;q=0.6,bar;q=0.5").match(x));
+               assertEquals(0, of("foo;q=0.6,bar;q=0.5,qux").match(x));
+               assertEquals(-1, of("qux").match(x));
+               assertEquals(-1, of("qux,q2x;q=0").match(x));
+               assertEquals(-1, of("foo;q=0").match(x));
        }
 
        @Test void a02_getRange() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ContactAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ContactAnnotation_Test.java
index d8150ceed..ce1519785 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ContactAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ContactAnnotation_Test.java
@@ -50,7 +50,8 @@ class ContactAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a2.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -87,6 +88,7 @@ class ContactAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ContentAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ContentAnnotation_Test.java
index 95267f03f..ff56c590e 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ContentAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ContentAnnotation_Test.java
@@ -52,7 +52,8 @@ class ContentAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -110,6 +111,7 @@ class ContentAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/FormDataAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/FormDataAnnotation_Test.java
index 66a285564..e1dbaee9d 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/FormDataAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/FormDataAnnotation_Test.java
@@ -68,7 +68,8 @@ class FormDataAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -138,6 +139,7 @@ class FormDataAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HasFormDataAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HasFormDataAnnotation_Test.java
index b0f811010..b2d248308 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HasFormDataAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HasFormDataAnnotation_Test.java
@@ -47,7 +47,8 @@ class HasFormDataAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HasQueryAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HasQueryAnnotation_Test.java
index 11b3adca3..7f36a9956 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HasQueryAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HasQueryAnnotation_Test.java
@@ -49,7 +49,8 @@ class HasQueryAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HeaderAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HeaderAnnotation_Test.java
index a7cbefe3f..98a634e76 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HeaderAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/HeaderAnnotation_Test.java
@@ -68,7 +68,8 @@ class HeaderAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -138,6 +139,7 @@ class HeaderAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/LicenseAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/LicenseAnnotation_Test.java
index d7b90e5cd..99e78a79b 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/LicenseAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/LicenseAnnotation_Test.java
@@ -47,7 +47,8 @@ class LicenseAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -86,6 +87,7 @@ class LicenseAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/PathAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/PathAnnotation_Test.java
index 09666faef..9ec09106b 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/PathAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/PathAnnotation_Test.java
@@ -68,7 +68,8 @@ class PathAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -138,6 +139,7 @@ class PathAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/QueryAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/QueryAnnotation_Test.java
index 20122b807..7868e4ff7 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/QueryAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/QueryAnnotation_Test.java
@@ -68,7 +68,8 @@ class QueryAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -138,6 +139,7 @@ class QueryAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/RequestAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/RequestAnnotation_Test.java
index e05ec42d6..9f0cab892 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/RequestAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/RequestAnnotation_Test.java
@@ -58,7 +58,8 @@ class RequestAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -118,6 +119,7 @@ class RequestAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ResponseAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ResponseAnnotation_Test.java
index 772c84d30..209530237 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ResponseAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ResponseAnnotation_Test.java
@@ -68,7 +68,8 @@ class ResponseAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -136,6 +137,7 @@ class ResponseAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ResponseStatusAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ResponseStatusAnnotation_Test.java
index 1340f3707..d53cc5514 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ResponseStatusAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/ResponseStatusAnnotation_Test.java
@@ -54,7 +54,8 @@ class ResponseStatusAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -114,6 +115,7 @@ class ResponseStatusAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/TagAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/TagAnnotation_Test.java
index 40ce05d04..ef1ea0bf3 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/annotation/TagAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/annotation/TagAnnotation_Test.java
@@ -48,7 +48,8 @@ class TagAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -87,6 +88,7 @@ class TagAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/Accept_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/Accept_Test.java
index 88275675c..4384c368e 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/header/Accept_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/header/Accept_Test.java
@@ -16,6 +16,8 @@ import static org.apache.juneau.assertions.Assertions.*;
 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.*;
 
@@ -66,7 +68,7 @@ class Accept_Test extends SimpleTestBase {
 
        @Test void a02_asRanges() {
                assertObject(new 
Accept((String)null).asMediaRanges().orElse(null)).isNull();
-               assertInteger(new 
Accept((String)null).match(alist(MediaType.JSON))).is(-1);
+               assertEquals(-1, new 
Accept((String)null).match(alist(MediaType.JSON)));
                assertObject(new Accept((String)null).getRange(0)).isNull();
                assertObject(new 
Accept(MediaRanges.of("application/json"))).asString().is("Accept: 
application/json");
        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicIntegerHeader_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicIntegerHeader_Test.java
index 327407edc..b6d280a11 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicIntegerHeader_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/BasicIntegerHeader_Test.java
@@ -67,7 +67,7 @@ class BasicIntegerHeader_Test extends SimpleTestBase {
        }
 
        @Test void a02_assertInteger() {
-               integerHeader(HEADER,1).assertInteger().is(1);
+               assertEquals(1, integerHeader(HEADER,1).asInteger().get());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
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 fcefba131..e8a8a4e56 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
@@ -96,8 +96,8 @@ class BasicMediaTypeHeader_Test extends SimpleTestBase {
        }
 
        @Test void a07_match() {
-               
assertInteger(contentType("text/foo").match(MediaType.of("text/foo"),true)).is(100000);
-               assertInteger(new 
ContentType((String)null).match(MediaType.of("text/foo"),true)).is(0);
+               assertEquals(100000, 
contentType("text/foo").match(MediaType.of("text/foo"),true));
+               assertEquals(0, new 
ContentType((String)null).match(MediaType.of("text/foo"),true));
        }
 
        @Test void a08_getParameters() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
index 068fd1f60..cfcffdefa 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/http/header/ContentType_Match_Test.java
@@ -12,9 +12,9 @@
 // 
***************************************************************************************************************************
 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.jupiter.api.Assertions.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.util.*;
@@ -89,6 +89,6 @@ public class ContentType_Match_Test {
        public void test() throws Exception {
                ContentType ct = contentType(this.contentType);
                MediaType[] mt = JsonParser.DEFAULT.parse(mediaTypes, 
MediaType[].class);
-               assertInteger(ct.match(alist(mt))).setMsg("{0} failed", 
label).is(expected);
+               assertEquals(expected, ct.match(alist(mt)));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/http/part/PartList_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/http/part/PartList_Test.java
index f03de1d15..76d5e05eb 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/part/PartList_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/part/PartList_Test.java
@@ -248,12 +248,12 @@ class PartList_Test extends SimpleTestBase {
 
                final AtomicInteger i1 = new AtomicInteger();
                x.forEach(h -> i1.incrementAndGet());
-               assertInteger(i1.get()).is(0);
+               assertEquals(0, i1.get());
 
                x = PartList.of(FOO_1, FOO_2);
                final AtomicInteger i2 = new AtomicInteger();
                x.forEach(h -> i2.incrementAndGet());
-               assertInteger(i2.get()).is(2);
+               assertEquals(2, i2.get());
        }
 
        @Test void a15_forEach_single() {
@@ -261,12 +261,12 @@ class PartList_Test extends SimpleTestBase {
 
                final AtomicInteger i1 = new AtomicInteger();
                x.forEach("Foo", h -> i1.incrementAndGet());
-               assertInteger(i1.get()).is(0);
+               assertEquals(0, i1.get());
 
                x = PartList.of(FOO_1, FOO_2, X_x);
                final AtomicInteger i2 = new AtomicInteger();
                x.forEach("Foo", h -> i2.incrementAndGet());
-               assertInteger(i2.get()).is(2);
+               assertEquals(2, i2.get());
        }
 
        @Test void a16_stream_all() {
@@ -274,12 +274,12 @@ class PartList_Test extends SimpleTestBase {
 
                final AtomicInteger i1 = new AtomicInteger();
                x.stream().forEach(h -> i1.incrementAndGet());
-               assertInteger(i1.get()).is(0);
+               assertEquals(0, i1.get());
 
                x = PartList.of(FOO_1, FOO_2);
                final AtomicInteger i2 = new AtomicInteger();
                x.stream().forEach(h -> i2.incrementAndGet());
-               assertInteger(i2.get()).is(2);
+               assertEquals(2, i2.get());
        }
 
        @Test void a17_stream_single() {
@@ -287,12 +287,12 @@ class PartList_Test extends SimpleTestBase {
 
                final AtomicInteger i1 = new AtomicInteger();
                x.stream("Foo").forEach(h -> i1.incrementAndGet());
-               assertInteger(i1.get()).is(0);
+               assertEquals(0, i1.get());
 
                x = PartList.of(FOO_1, FOO_2, X_x);
                final AtomicInteger i2 = new AtomicInteger();
                x.stream("Foo").forEach(h -> i2.incrementAndGet());
-               assertInteger(i2.get()).is(2);
+               assertEquals(2, i2.get());
        }
 
        @Test void a18_caseSensitive() {
@@ -307,7 +307,7 @@ class PartList_Test extends SimpleTestBase {
 
        @Test void a19_size() {
                PartList x = PartList.of(FOO_1);
-               assertInteger(x.size()).is(1);
+               assertEquals(1, x.size());
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/json/annotation/JsonAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/json/annotation/JsonAnnotation_Test.java
index 3105022db..a274cfd36 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/json/annotation/JsonAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/json/annotation/JsonAnnotation_Test.java
@@ -50,7 +50,8 @@ public class JsonAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -110,6 +111,7 @@ public class JsonAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/ExternalDocsAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/ExternalDocsAnnotation_Test.java
index 079a8d396..39dfc07b5 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/ExternalDocsAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/ExternalDocsAnnotation_Test.java
@@ -45,7 +45,8 @@ class ExternalDocsAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -82,6 +83,7 @@ class ExternalDocsAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/ItemsAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/ItemsAnnotation_Test.java
index 3b73fe133..f4298b822 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/ItemsAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/ItemsAnnotation_Test.java
@@ -142,7 +142,8 @@ class ItemsAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -243,6 +244,7 @@ class ItemsAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SchemaAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SchemaAnnotation_Test.java
index e5f7cee81..b195f868c 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SchemaAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SchemaAnnotation_Test.java
@@ -208,7 +208,8 @@ public class SchemaAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -370,6 +371,7 @@ public class SchemaAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SubItemsAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SubItemsAnnotation_Test.java
index 5fafd2fd4..1d9f21a1b 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SubItemsAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/annotation/SubItemsAnnotation_Test.java
@@ -142,7 +142,8 @@ public class SubItemsAnnotation_Test extends SimpleTestBase 
{
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -243,6 +244,7 @@ public class SubItemsAnnotation_Test extends SimpleTestBase 
{
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation_Test.java
index 9381e5e5f..fb27c7429 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation_Test.java
@@ -14,6 +14,8 @@ package org.apache.juneau.msgpack.annotation;
 
 import static org.apache.juneau.assertions.Assertions.*;
 import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -47,7 +49,8 @@ public class MsgPackAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -105,6 +108,8 @@ public class MsgPackAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEquals(0, a1.hashCode());
+               assertNotEquals(-1, a1.hashCode());
+               assertEquals(d1.hashCode(), a1.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/mstat/MethodExecStore_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/mstat/MethodExecStore_Test.java
index b05c03c3a..f448a5e3b 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/mstat/MethodExecStore_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/mstat/MethodExecStore_Test.java
@@ -14,6 +14,7 @@ package org.apache.juneau.mstat;
 
 import static org.apache.juneau.assertions.AssertionPredicates.*;
 import static org.apache.juneau.assertions.Assertions.*;
+import static org.junit.jupiter.api.Assertions.*;
 import static org.junit.runners.MethodSorters.*;
 
 import java.lang.reflect.*;
@@ -168,22 +169,22 @@ public class MethodExecStore_Test {
                assertLong(stats.getGuid()).isNot(0L);
                assertObject(stats.getMethod()).isSame(m);
 
-               assertInteger(stats.getRuns()).is(0);
-               assertInteger(stats.getRunning()).is(0);
-               assertInteger(stats.getErrors()).is(0);
-               assertInteger(stats.getMinTime()).is(0);
-               assertInteger(stats.getMaxTime()).is(0);
-               assertInteger(stats.getAvgTime()).is(0);
+               assertEquals(0, stats.getRuns());
+               assertEquals(0, stats.getRunning());
+               assertEquals(0, stats.getErrors());
+               assertEquals(0, stats.getMinTime());
+               assertEquals(0, stats.getMaxTime());
+               assertEquals(0, stats.getAvgTime());
                assertLong(stats.getTotalTime()).is(0L);
 
                
stats.started().finished(100*1000000).started().finished(200*1000000).started().error(new
 Throwable());
 
-               assertInteger(stats.getRuns()).is(3);
-               assertInteger(stats.getRunning()).is(1);
-               assertInteger(stats.getErrors()).is(1);
-               assertInteger(stats.getMinTime()).is(100);
-               assertInteger(stats.getMaxTime()).is(200);
-               assertInteger(stats.getAvgTime()).is(150);
+               assertEquals(3, stats.getRuns());
+               assertEquals(1, stats.getRunning());
+               assertEquals(1, stats.getErrors());
+               assertEquals(100, stats.getMinTime());
+               assertEquals(200, stats.getMaxTime());
+               assertEquals(150, stats.getAvgTime());
                assertLong(stats.getTotalTime()).is(300L);
 
                assertObject(stats).asString().isContains("300");
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/mstat/ThrownStore_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/mstat/ThrownStore_Test.java
index 055bb024c..66180acba 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/mstat/ThrownStore_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/mstat/ThrownStore_Test.java
@@ -14,6 +14,8 @@ package org.apache.juneau.mstat;
 
 import static org.apache.juneau.assertions.AssertionPredicates.*;
 import static org.apache.juneau.assertions.Assertions.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import java.util.*;
 
 import org.apache.juneau.*;
@@ -37,9 +39,9 @@ class ThrownStore_Test extends SimpleTestBase {
 
                ThrownStore db = new ThrownStore();
 
-               assertInteger(db.add(t1).getCount()).is(1);
-               assertInteger(db.add(t1).getCount()).is(2);
-               assertInteger(db.add(t2).getCount()).is(1);
+               assertEquals(1, db.add(t1).getCount());
+               assertEquals(2, db.add(t1).getCount());
+               assertEquals(1, db.add(t2).getCount());
 
                
assertLong(db.getStats(t1).get().getHash()).is(db.getStats(t1).get().getHash());
                
assertLong(db.getStats(t1).get().getHash()).isNot(db.getStats(t2).get().getHash());
@@ -62,8 +64,8 @@ class ThrownStore_Test extends SimpleTestBase {
                db.add(t1);
 
                assertSize(2, l);
-               assertInteger(l.get(0).getCount()).is(2);
-               assertInteger(l.get(1).getCount()).is(1);
+               assertEquals(2, l.get(0).getCount());
+               assertEquals(1, l.get(1).getCount());
        }
 
        @Test void a03_reset() {
@@ -106,8 +108,8 @@ class ThrownStore_Test extends SimpleTestBase {
                db.add(t1);
                db.add(t2);
 
-               assertInteger(db.getStats(t1).get().getCount()).is(2);
-               assertInteger(db.getStats(t2).get().getCount()).is(2);
+               assertEquals(2, db.getStats(t1).get().getCount());
+               assertEquals(2, db.getStats(t2).get().getCount());
        }
 
        @Test void a05_slightlyDifferentStackTraces() {
@@ -139,8 +141,8 @@ class ThrownStore_Test extends SimpleTestBase {
                db.add(t1);
                db.add(t2);
 
-               assertInteger(db.getStats(t1).get().getCount()).is(1);
-               assertInteger(db.getStats(t2).get().getCount()).is(1);
+               assertEquals(1, db.getStats(t1).get().getCount());
+               assertEquals(1, db.getStats(t2).get().getCount());
        }
 
        @Test void a06_proxyElements() {
@@ -172,8 +174,8 @@ class ThrownStore_Test extends SimpleTestBase {
                db.add(t1);
                db.add(t2);
 
-               assertInteger(db.getStats(t1).get().getCount()).is(2);
-               assertInteger(db.getStats(t2).get().getCount()).is(2);
+               assertEquals(2, db.getStats(t1).get().getCount());
+               assertEquals(2, db.getStats(t2).get().getCount());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -341,8 +343,8 @@ class ThrownStore_Test extends SimpleTestBase {
                
assertObject(db.getStats(t1).get().getStackTrace()).asJson().is("['Foo.bar(Foo.class:1)','Foo.baz(Foo.class:2)','<ignored>','<ignored>','Object.baz(Object.class:5)']");
                
assertObject(db.getStats(t2).get().getStackTrace()).asJson().is("['Foo.bar(Foo.class:1)','Foo.baz(Foo.class:2)','<ignored>','<ignored>','Object.baz(Object.class:5)']");
 
-               assertInteger(db.getStats(t1).get().getCount()).is(2);
-               assertInteger(db.getStats(t2).get().getCount()).is(2);
+               assertEquals(2, db.getStats(t1).get().getCount());
+               assertEquals(2, db.getStats(t2).get().getCount());
 
                ThrownStore db2 = ThrownStore.create().parent(db).build();
 
@@ -352,9 +354,9 @@ class ThrownStore_Test extends SimpleTestBase {
                
assertObject(db2.getStats(t1).get().getStackTrace()).asJson().is("['Foo.bar(Foo.class:1)','Foo.baz(Foo.class:2)','<ignored>','<ignored>','Object.baz(Object.class:5)']");
                
assertObject(db2.getStats(t2).get().getStackTrace()).asJson().is("['Foo.bar(Foo.class:1)','Foo.baz(Foo.class:2)','<ignored>','<ignored>','Object.baz(Object.class:5)']");
 
-               assertInteger(db2.getStats(t1).get().getCount()).is(2);
-               assertInteger(db2.getStats(t2).get().getCount()).is(2);
-               assertInteger(db.getStats(t1).get().getCount()).is(4);
-               assertInteger(db.getStats(t2).get().getCount()).is(4);
+               assertEquals(2, db2.getStats(t1).get().getCount());
+               assertEquals(2, db2.getStats(t2).get().getCount());
+               assertEquals(4, db.getStats(t1).get().getCount());
+               assertEquals(4, db.getStats(t2).get().getCount());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation_Test.java
index 020286bcb..abf797885 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation_Test.java
@@ -47,7 +47,8 @@ public class OpenApiAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -105,6 +106,7 @@ public class OpenApiAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation_Test.java
index bf055bf3e..b1d3a23a1 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation_Test.java
@@ -47,7 +47,8 @@ class PlainTextAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -105,6 +106,7 @@ class PlainTextAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/reflect/ClassInfoTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/reflect/ClassInfoTest.java
index ba3ceb7b1..0caad0052 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/reflect/ClassInfoTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/reflect/ClassInfoTest.java
@@ -647,17 +647,17 @@ public class ClassInfoTest {
 
        @Test
        public void firstAnnotation() {
-               assertInteger(g3.firstAnnotation(A.class, null).value()).is(2);
-               assertInteger(g4.firstAnnotation(A.class, null).value()).is(2);
-               assertInteger(g5.firstAnnotation(A.class, null).value()).is(3);
-               assertInteger(g3.firstAnnotation(A.class, x -> x.value() == 
5).value()).is(5);
+               assertEquals(2, g3.firstAnnotation(A.class, null).value());
+               assertEquals(2, g4.firstAnnotation(A.class, null).value());
+               assertEquals(3, g5.firstAnnotation(A.class, null).value());
+               assertEquals(5, g3.firstAnnotation(A.class, x -> x.value() == 
5).value());
        }
        @Test
        public void lastAnnotation() {
-               assertInteger(g3.lastAnnotation(A.class, null).value()).is(7);
-               assertInteger(g4.lastAnnotation(A.class, null).value()).is(7);
-               assertInteger(g5.lastAnnotation(A.class, null).value()).is(3);
-               assertInteger(g3.lastAnnotation(A.class, x -> x.value() == 
5).value()).is(5);
+               assertEquals(7, g3.lastAnnotation(A.class, null).value());
+               assertEquals(7, g4.lastAnnotation(A.class, null).value());
+               assertEquals(3, g5.lastAnnotation(A.class, null).value());
+               assertEquals(5, g3.lastAnnotation(A.class, x -> x.value() == 
5).value());
        }
 
        @Test
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation_Test.java
index 35146f75e..4c75e1446 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation_Test.java
@@ -75,7 +75,8 @@ class OpSwaggerAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -132,6 +133,7 @@ class OpSwaggerAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
index 83d03bcda..c8b47d38d 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestAnnotation_Test.java
@@ -201,7 +201,8 @@ public class RestAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -349,6 +350,7 @@ public class RestAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation_Test.java
index bd1bdc22b..aa9069b0b 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation_Test.java
@@ -100,7 +100,8 @@ class RestDeleteAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -198,6 +199,7 @@ class RestDeleteAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation_Test.java
index db02ea0fb..e90b6a760 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation_Test.java
@@ -46,7 +46,8 @@ public class RestDestroyAnnotation_Test extends 
SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -98,6 +99,7 @@ public class RestDestroyAnnotation_Test extends 
SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation_Test.java
index 8dd33f652..2881ad7a3 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation_Test.java
@@ -46,7 +46,8 @@ public class RestEndCallAnnotation_Test extends 
SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -98,6 +99,7 @@ public class RestEndCallAnnotation_Test extends 
SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestGetAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestGetAnnotation_Test.java
index 884e31071..fbf638724 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestGetAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestGetAnnotation_Test.java
@@ -111,7 +111,8 @@ public class RestGetAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -215,6 +216,7 @@ public class RestGetAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInitAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInitAnnotation_Test.java
index d63a31765..27c1335c3 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInitAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInitAnnotation_Test.java
@@ -13,11 +13,12 @@
 package org.apache.juneau.rest.annotation;
 
 import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
-public class RestInitAnnotation_Test {
+class RestInitAnnotation_Test extends SimpleTestBase {
 
        private static final String CNAME = 
RestInitAnnotation_Test.class.getName();
 
@@ -46,7 +47,8 @@ public class RestInitAnnotation_Test {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -56,7 +58,7 @@ public class RestInitAnnotation_Test {
        @Test void b01_testEquivalencyInPropertyStores() {
                BeanContext bc1 = BeanContext.create().annotations(a1).build();
                BeanContext bc2 = BeanContext.create().annotations(a2).build();
-               assertSame(bc1, bc2);
+               assertTrue(bc1 == bc2);
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -98,6 +100,7 @@ public class RestInitAnnotation_Test {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOpAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOpAnnotation_Test.java
index 74ef8b54a..71af99c43 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOpAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOpAnnotation_Test.java
@@ -130,7 +130,8 @@ public class RestOpAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -246,6 +247,7 @@ public class RestOpAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostAnnotation_Test.java
index 77349d18a..3bfb8fc5d 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostAnnotation_Test.java
@@ -127,7 +127,8 @@ public class RestPostAnnotation_Test extends SimpleTestBase 
{
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -241,6 +242,7 @@ public class RestPostAnnotation_Test extends SimpleTestBase 
{
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation_Test.java
index 16d569d1e..e3b98bc62 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation_Test.java
@@ -46,7 +46,8 @@ public class RestPostCallAnnotation_Test extends 
SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -98,6 +99,7 @@ public class RestPostCallAnnotation_Test extends 
SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation_Test.java
index 235e4c648..5f77c3579 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation_Test.java
@@ -49,7 +49,8 @@ public class RestPostInitAnnotation_Test extends 
SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -103,6 +104,7 @@ public class RestPostInitAnnotation_Test extends 
SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation_Test.java
index 3e82d30a0..3fd31bc83 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation_Test.java
@@ -46,7 +46,8 @@ class RestPreCallAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -98,6 +99,7 @@ class RestPreCallAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPutAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPutAnnotation_Test.java
index 62c2582d0..06e1d25aa 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPutAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPutAnnotation_Test.java
@@ -127,7 +127,8 @@ class RestPutAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -241,6 +242,7 @@ class RestPutAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation_Test.java
index f1804048a..03d14160b 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation_Test.java
@@ -46,7 +46,8 @@ public class RestStartCallAnnotation_Test extends 
SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -98,6 +99,7 @@ public class RestStartCallAnnotation_Test extends 
SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/SwaggerAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/SwaggerAnnotation_Test.java
index f6e3cb414..34ab04bcb 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/SwaggerAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/SwaggerAnnotation_Test.java
@@ -14,15 +14,13 @@ package org.apache.juneau.rest.annotation;
 
 import static org.apache.juneau.assertions.Assertions.*;
 import static org.junit.Assert.*;
-import static org.junit.runners.MethodSorters.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.http.annotation.*;
-import org.junit.*;
+import org.apache.juneau.http.annotation.Tag;
+import org.junit.jupiter.api.*;
 
-@FixMethodOrder(NAME_ASCENDING)
-public class SwaggerAnnotation_Test {
+class SwaggerAnnotation_Test extends SimpleTestBase {
 
        
//------------------------------------------------------------------------------------------------------------------
        // Basic tests
@@ -52,8 +50,7 @@ public class SwaggerAnnotation_Test {
                .version("version")
                .build();
 
-       @Test
-       public void a01_basic() {
+       @Test void a01_basic() {
                assertObject(a1).asJson().is(""
                        + "{"
                                + 
"contact:{description:[],email:'',name:'',url:''},"
@@ -69,18 +66,17 @@ public class SwaggerAnnotation_Test {
                );
        }
 
-       @Test
-       public void a02_testEquivalency() {
+       @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
        // PropertyStore equivalency.
        
//------------------------------------------------------------------------------------------------------------------
 
-       @Test
-       public void b01_testEquivalencyInPropertyStores() {
+       @Test void b01_testEquivalencyInPropertyStores() {
                BeanContext bc1 = BeanContext.create().annotations(a1).build();
                BeanContext bc2 = BeanContext.create().annotations(a2).build();
                assertSame(bc1, bc2);
@@ -122,9 +118,9 @@ public class SwaggerAnnotation_Test {
        public static class D2 {}
        Swagger d2 = D2.class.getAnnotationsByType(Swagger.class)[0];
 
-       @Test
-       public void d01_comparisonWithDeclarativeAnnotations() {
+       @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
index f579914b1..17f0e15bf 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestCallException_Test.java
@@ -53,7 +53,7 @@ public class RestCallException_Test extends SimpleTestBase {
                        client().build().get().run();  // NOSONAR
                        fail();
                } catch (RestCallException e) {
-                       assertInteger(e.getResponse().getStatusCode()).is(404);
+                       assertEquals(404, e.getResponse().getStatusCode());
                        assertNull(e.getCause());
                }
 
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation_Test.java
index 6498271dd..f0674eb23 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation_Test.java
@@ -47,7 +47,8 @@ public class SoapXmlAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -105,6 +106,7 @@ public class SoapXmlAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/uon/annotation/UonAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/uon/annotation/UonAnnotation_Test.java
index 1c60df8f4..bd74baca4 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/uon/annotation/UonAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/uon/annotation/UonAnnotation_Test.java
@@ -47,7 +47,8 @@ public class UonAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -105,6 +106,7 @@ public class UonAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation_Test.java
index 3b88b6b1a..4d12be054 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation_Test.java
@@ -50,7 +50,8 @@ class UrlEncodingAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -110,6 +111,7 @@ class UrlEncodingAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple2Function_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple2Function_Test.java
index 6e0a92101..0aeb71b6c 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple2Function_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple2Function_Test.java
@@ -12,7 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.utils;
 
-import static org.apache.juneau.assertions.Assertions.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -23,6 +24,6 @@ class Tuple2Function_Test extends SimpleTestBase {
        
//------------------------------------------------------------------------------------------------------------------
        @Test void a01_basic() {
                Tuple2Function<Integer,Integer,Integer> x = (a,b)->a+b;
-               assertInteger(x.apply(1,2)).is(3);
+               assertEquals(3, x.apply(1,2));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple2_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple2_Test.java
index 2c54944a1..a675bdb45 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple2_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple2_Test.java
@@ -12,8 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.utils;
 
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -25,7 +25,7 @@ public class Tuple2_Test extends SimpleTestBase {
        @Test void a01_basic() {
                Tuple2<String,Integer> x = Tuple2.of("foo",1);
                assertString(x.getA()).is("foo");
-               assertInteger(x.getB()).is(1);
+               assertEquals(1, x.getB());
        }
 
        @Test void a02_equality() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple3Function_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple3Function_Test.java
index 7fef9adda..3afb66aa8 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple3Function_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple3Function_Test.java
@@ -12,7 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.utils;
 
-import static org.apache.juneau.assertions.Assertions.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -23,6 +24,6 @@ public class Tuple3Function_Test extends SimpleTestBase {
        
//------------------------------------------------------------------------------------------------------------------
        @Test void a01_basic() {
                Tuple3Function<Integer,Integer,Integer,Integer> x = 
(a,b,c)->a+b+c;
-               assertInteger(x.apply(1,2,3)).is(6);
+               assertEquals(6, x.apply(1,2,3));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple3_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple3_Test.java
index ae2cb7960..94e0f344c 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple3_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple3_Test.java
@@ -12,8 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.utils;
 
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -25,8 +25,8 @@ public class Tuple3_Test extends SimpleTestBase {
        @Test void a01_basic() {
                Tuple3<String,Integer,Integer> x = Tuple3.of("foo",1,2);
                assertString(x.getA()).is("foo");
-               assertInteger(x.getB()).is(1);
-               assertInteger(x.getC()).is(2);
+               assertEquals(1, x.getB());
+               assertEquals(2, x.getC());
        }
 
        @Test void a02_equality() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple4Function_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple4Function_Test.java
index 0fdbf44d2..eaef6eb33 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple4Function_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple4Function_Test.java
@@ -12,7 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.utils;
 
-import static org.apache.juneau.assertions.Assertions.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -23,6 +24,6 @@ class Tuple4Function_Test extends SimpleTestBase {
        
//------------------------------------------------------------------------------------------------------------------
        @Test void a01_basic() {
                Tuple4Function<Integer,Integer,Integer,Integer,Integer> x = 
(a,b,c,d)->a+b+c+d;
-               assertInteger(x.apply(1,2,3,4)).is(10);
+               assertEquals(10, x.apply(1,2,3,4));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple4_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple4_Test.java
index 86769ae75..54ea5800e 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple4_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple4_Test.java
@@ -12,8 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.utils;
 
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -25,9 +25,9 @@ class Tuple4_Test extends SimpleTestBase {
        @Test void a01_basic() {
                Tuple4<String,Integer,Integer,Integer> x = 
Tuple4.of("foo",1,2,3);
                assertString(x.getA()).is("foo");
-               assertInteger(x.getB()).is(1);
-               assertInteger(x.getC()).is(2);
-               assertInteger(x.getD()).is(3);
+               assertEquals(1, x.getB());
+               assertEquals(2, x.getC());
+               assertEquals(3, x.getD());
        }
 
        @Test void a02_equality() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple5Function_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple5Function_Test.java
index 8afb8cd8d..ddbe93a69 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple5Function_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple5Function_Test.java
@@ -12,7 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.utils;
 
-import static org.apache.juneau.assertions.Assertions.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -23,6 +24,6 @@ public class Tuple5Function_Test extends SimpleTestBase {
        
//------------------------------------------------------------------------------------------------------------------
        @Test void a01_basic() {
                Tuple5Function<Integer,Integer,Integer,Integer,Integer,Integer> 
x = (a,b,c,d,e)->a+b+c+d+e;
-               assertInteger(x.apply(1,2,3,4,5)).is(15);
+               assertEquals(15, x.apply(1,2,3,4,5));
        }
 }
\ No newline at end of file
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple5_Test.java 
b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple5_Test.java
index e063bda72..c94db82e3 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple5_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/utils/Tuple5_Test.java
@@ -12,8 +12,8 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.utils;
 
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.*;
+
 import org.apache.juneau.*;
 import org.junit.jupiter.api.*;
 
@@ -25,10 +25,10 @@ class Tuple5_Test extends SimpleTestBase {
        @Test void a01_basic() {
                Tuple5<String,Integer,Integer,Integer,Integer> x = 
Tuple5.of("foo",1,2,3,4);
                assertString(x.getA()).is("foo");
-               assertInteger(x.getB()).is(1);
-               assertInteger(x.getC()).is(2);
-               assertInteger(x.getD()).is(3);
-               assertInteger(x.getE()).is(4);
+               assertEquals(1, x.getB());
+               assertEquals(2, x.getC());
+               assertEquals(3, x.getD());
+               assertEquals(4, x.getE());
        }
 
        @Test void a02_equality() {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/xml/annotation/XmlAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/xml/annotation/XmlAnnotation_Test.java
index cb57a566c..f9e267ef4 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/xml/annotation/XmlAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/xml/annotation/XmlAnnotation_Test.java
@@ -59,7 +59,8 @@ class XmlAnnotation_Test extends SimpleTestBase {
 
        @Test void a02_testEquivalency() {
                assertObject(a1).is(a2);
-               assertInteger(a1.hashCode()).is(a2.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEquals(a1.hashCode(), a2.hashCode());
        }
 
        
//------------------------------------------------------------------------------------------------------------------
@@ -125,6 +126,7 @@ class XmlAnnotation_Test extends SimpleTestBase {
 
        @Test void d01_comparisonWithDeclarativeAnnotations() {
                assertObject(d1).is(d2).is(a1);
-               
assertInteger(d1.hashCode()).is(d2.hashCode()).is(a1.hashCode()).isNotAny(0,-1);
+               assertNotEqualsAny(a1.hashCode(), 0, -1);
+               assertEqualsAll(a1.hashCode(), d1.hashCode(), d2.hashCode());
        }
-}
\ No newline at end of file
+}
\ No newline at end of file

Reply via email to