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 8e8cb8d56 Test modernization 8e8cb8d56 is described below commit 8e8cb8d56ced85ea0c3993bb12ef2d1d3105684c Author: James Bognar <james.bog...@salesforce.com> AuthorDate: Thu Aug 28 11:12:00 2025 -0400 Test modernization --- .../src/test/java/org/apache/juneau/TestUtils.java | 12 ++ .../org/apache/juneau/json/CommonParser_Test.java | 17 +- .../apache/juneau/objecttools/ObjectRest_Test.java | 182 +++------------------ .../java/org/apache/juneau/uon/UonParser_Test.java | 5 +- .../org/apache/juneau/xml/CommonParser_Test.java | 17 +- 5 files changed, 47 insertions(+), 186 deletions(-) diff --git a/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java b/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java index 645fe41bd..9e53ae2ac 100644 --- a/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java +++ b/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java @@ -606,4 +606,16 @@ public class TestUtils extends Utils2 { public static Arguments args(Object...args) { return Arguments.of(args); } + + public static <T> void assertMapped(T o, BiFunction<T,String,Object> f, String properties, String expected) { + var m = new LinkedHashMap<String,Object>(); + for (var p : split(properties)) { + try { + m.put(p, f.apply(o, p)); + } catch (Exception e) { + m.put(p, e.getClass().getSimpleName()); + } + } + assertMap(m, properties, expected); + } } diff --git a/juneau-utest/src/test/java/org/apache/juneau/json/CommonParser_Test.java b/juneau-utest/src/test/java/org/apache/juneau/json/CommonParser_Test.java index dfa0b0544..13eac989f 100755 --- a/juneau-utest/src/test/java/org/apache/juneau/json/CommonParser_Test.java +++ b/juneau-utest/src/test/java/org/apache/juneau/json/CommonParser_Test.java @@ -13,6 +13,7 @@ package org.apache.juneau.json; import static org.junit.jupiter.api.Assertions.*; +import static org.apache.juneau.TestUtils.*; import java.util.*; @@ -34,15 +35,11 @@ class CommonParser_Test extends SimpleTestBase { var m = (Map)p.parse("{a:1}", Object.class); assertEquals(1, m.get("a")); m = (Map)p.parse("{a:1,b:\"foo bar\"}", Object.class); - assertEquals(1, m.get("a")); - assertEquals("foo bar", m.get("b")); + assertMap(m, "a,b", "1,foo bar"); m = (Map)p.parse("{a:1,b:\"foo bar\",c:false}", Object.class); - assertEquals(1, m.get("a")); - assertEquals(false, m.get("c")); + assertMap(m, "a,c", "1,false"); m = (Map)p.parse(" { a : 1 , b : 'foo' , c : false } ", Object.class); - assertEquals(1, m.get("a")); - assertEquals("foo", m.get("b")); - assertEquals(false, m.get("c")); + assertMap(m, "a,b,c", "1,foo,false"); m = (Map)p.parse("{x:\"org.apache.juneau.test.Person\",addresses:[{x:\"org.apache.juneau.test.Address\",city:\"city A\",state:\"state A\",street:\"street A\",zip:12345}]}", Object.class); assertEquals("org.apache.juneau.test.Person", m.get("x")); @@ -50,11 +47,7 @@ class CommonParser_Test extends SimpleTestBase { assertNotNull(l); m = (Map)l.get(0); assertNotNull(m); - assertEquals("org.apache.juneau.test.Address", m.get("x")); - assertEquals("city A", m.get("city")); - assertEquals("state A", m.get("state")); - assertEquals("street A", m.get("street")); - assertEquals(12345, m.get("zip")); + assertMap(m, "x,city,state,street,zip", "org.apache.juneau.test.Address,city A,state A,street A,12345"); var jl = (JsonList)p.parse("[{attribute:'value'},{attribute:'value'}]", Object.class); assertEquals("value", jl.getMap(0).getString("attribute")); diff --git a/juneau-utest/src/test/java/org/apache/juneau/objecttools/ObjectRest_Test.java b/juneau-utest/src/test/java/org/apache/juneau/objecttools/ObjectRest_Test.java index 7b3e4196f..65cc02734 100755 --- a/juneau-utest/src/test/java/org/apache/juneau/objecttools/ObjectRest_Test.java +++ b/juneau-utest/src/test/java/org/apache/juneau/objecttools/ObjectRest_Test.java @@ -16,7 +16,6 @@ import static org.apache.juneau.TestUtils.*; import static org.junit.jupiter.api.Assertions.*; import java.util.*; -import java.util.function.*; import org.apache.juneau.*; import org.apache.juneau.annotation.*; @@ -323,127 +322,27 @@ class ObjectRest_Test extends SimpleTestBase { var l = JsonList.ofJson("[{a:'b'}]"); var m = JsonMap.ofJson("{a:'b'}"); - assertObjectRest(model, ObjectRest::get, "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "null,0,0,false,null,null,null,null,null,null,null"); - - assertEquals("foo", model.getWithDefault("f1", "foo")); - assertEquals(0, model.getWithDefault("f2", "foo")); - assertEquals(0L, model.getWithDefault("f3", "foo")); - assertEquals(false, model.getWithDefault("f4", "foo")); - assertEquals("foo", model.getWithDefault("f2a", "foo")); - assertEquals("foo", model.getWithDefault("f3a", "foo")); - assertEquals("foo", model.getWithDefault("f4a", "foo")); - assertEquals("foo", model.getWithDefault("f5", "foo")); - assertEquals("foo", model.getWithDefault("f6", "foo")); - assertEquals("foo", model.getWithDefault("f7", "foo")); - assertEquals("foo", model.getWithDefault("f8", "foo")); - - assertNull(model.getString("f1")); - assertEquals("0", model.getString("f2")); - assertEquals("0", model.getString("f3")); - assertEquals("false", model.getString("f4")); - assertNull(model.getString("f2a")); - assertNull(model.getString("f3a")); - assertNull(model.getString("f4a")); - assertNull(model.getString("f5")); - assertNull(model.getString("f6")); - assertNull(model.getString("f7")); - assertNull(model.getString("f8")); - - assertEquals("foo", model.getString("f1", "foo")); - assertEquals("0", model.getString("f2", "foo")); - assertEquals("0", model.getString("f3", "foo")); - assertEquals("false", model.getString("f4", "foo")); - assertEquals("foo", model.getString("f2a", "foo")); - assertEquals("foo", model.getString("f3a", "foo")); - assertEquals("foo", model.getString("f4a", "foo")); - assertEquals("foo", model.getString("f5", "foo")); - assertEquals("foo", model.getString("f6", "foo")); - assertEquals("foo", model.getString("f7", "foo")); - assertEquals("foo", model.getString("f8", "foo")); - - assertNull(model.getInt("f1")); - assertEquals(0, (int)model.getInt("f2")); - assertEquals(0, (int)model.getInt("f3")); - assertEquals(0, (int)model.getInt("f4")); - assertNull(model.getInt("f2a")); - assertNull(model.getInt("f3a")); - assertNull(model.getInt("f4a")); - assertNull(model.getInt("f5")); - assertNull(model.getInt("f6")); - assertNull(model.getInt("f7")); - assertNull(model.getInt("f8")); - - assertEquals(1, (int)model.getInt("f1", 1)); - assertEquals(0, (int)model.getInt("f2", 1)); - assertEquals(0, (int)model.getInt("f3", 1)); - assertEquals(0, (int)model.getInt("f4", 1)); - assertEquals(1, (int)model.getInt("f2a", 1)); - assertEquals(1, (int)model.getInt("f3a", 1)); - assertEquals(1, (int)model.getInt("f4a", 1)); - assertEquals(1, (int)model.getInt("f5", 1)); - assertEquals(1, (int)model.getInt("f6", 1)); - assertEquals(1, (int)model.getInt("f7", 1)); - assertEquals(1, (int)model.getInt("f8", 1)); - - assertNull(model.getLong("f1")); - assertEquals(0, (long)model.getLong("f2")); - assertEquals(0, (long)model.getLong("f3")); - assertEquals(0, (long)model.getLong("f4")); - assertNull(model.getLong("f2a")); - assertNull(model.getLong("f3a")); - assertNull(model.getLong("f4a")); - assertNull(model.getLong("f5")); - assertNull(model.getLong("f6")); - assertNull(model.getLong("f7")); - assertNull(model.getLong("f8")); - - assertEquals(1, (long)model.getLong("f1", 1L)); - assertEquals(0, (long)model.getLong("f2", 1L)); - assertEquals(0, (long)model.getLong("f3", 1L)); - assertEquals(0, (long)model.getLong("f4", 1L)); - assertEquals(1, (long)model.getLong("f2a", 1L)); - assertEquals(1, (long)model.getLong("f3a", 1L)); - assertEquals(1, (long)model.getLong("f4a", 1L)); - assertEquals(1, (long)model.getLong("f5", 1L)); - assertEquals(1, (long)model.getLong("f6", 1L)); - assertEquals(1, (long)model.getLong("f7", 1L)); - assertEquals(1, (long)model.getLong("f8", 1L)); - - assertNull(model.getBoolean("f1")); - assertEquals(false, model.getBoolean("f2")); - assertEquals(false, model.getBoolean("f3")); - assertEquals(false, model.getBoolean("f4")); - assertNull(model.getBoolean("f2a")); - assertNull(model.getBoolean("f3a")); - assertNull(model.getBoolean("f4a")); - assertNull(model.getBoolean("f5")); - assertNull(model.getBoolean("f6")); - assertNull(model.getBoolean("f7")); - assertNull(model.getBoolean("f8")); - - assertEquals(true, model.getBoolean("f1", true)); - assertEquals(false, model.getBoolean("f2", true)); - assertEquals(false, model.getBoolean("f3", true)); - assertEquals(false, model.getBoolean("f4", true)); - assertEquals(true, model.getBoolean("f2a", true)); - assertEquals(true, model.getBoolean("f3a", true)); - assertEquals(true, model.getBoolean("f4a", true)); - assertEquals(true, model.getBoolean("f5", true)); - assertEquals(true, model.getBoolean("f6", true)); - assertEquals(true, model.getBoolean("f7", true)); - assertEquals(true, model.getBoolean("f8", true)); + assertMapped(model, ObjectRest::get, "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "null,0,0,false,null,null,null,null,null,null,null"); - assertNull(model.getMap("f1")); - assertThrows(InvalidDataConversionException.class, ()->model.getMap("f2")); - assertThrows(InvalidDataConversionException.class, ()->model.getMap("f3")); - assertThrows(InvalidDataConversionException.class, ()->model.getMap("f4")); - assertNull(model.getMap("f2a")); - assertNull(model.getMap("f3a")); - assertNull(model.getMap("f4a")); - assertNull(model.getMap("f5")); - assertNull(model.getMap("f6")); - assertNull(model.getMap("f7")); - assertNull(model.getMap("f8")); + assertMapped(model, (r,p) -> r.getWithDefault(p, "foo"), "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "foo,0,0,false,foo,foo,foo,foo,foo,foo,foo"); + + assertMapped(model, ObjectRest::getString, "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "null,0,0,false,null,null,null,null,null,null,null"); + + assertMapped(model, (r,p) -> r.getString(p, "foo"), "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "foo,0,0,false,foo,foo,foo,foo,foo,foo,foo"); + + assertMapped(model, ObjectRest::getInt, "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "null,0,0,0,null,null,null,null,null,null,null"); + + assertMapped(model, (r,p) -> r.getInt(p, 1), "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "1,0,0,0,1,1,1,1,1,1,1"); + + assertMapped(model, ObjectRest::getLong, "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "null,0,0,0,null,null,null,null,null,null,null"); + + assertMapped(model, (r,p) -> r.getLong(p, 1L), "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "1,0,0,0,1,1,1,1,1,1,1"); + + assertMapped(model, ObjectRest::getBoolean, "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "null,false,false,false,null,null,null,null,null,null,null"); + + assertMapped(model, (r,p) -> r.getBoolean(p, true), "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "true,false,false,false,true,true,true,true,true,true,true"); + + assertMapped(model, ObjectRest::getMap, "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "null,InvalidDataConversionException,InvalidDataConversionException,InvalidDataConversionException,null,null,null,null,null,null,null"); assertEquals("{a:'b'}", model.getMap("f1", m).toString()); assertThrows(InvalidDataConversionException.class, ()->model.getMap("f2", m)); @@ -457,31 +356,11 @@ class ObjectRest_Test extends SimpleTestBase { assertEquals("{a:'b'}", model.getMap("f7", m).toString()); assertEquals("{a:'b'}", model.getMap("f8", m).toString()); - assertObjectRest(model, (r,p) -> r.getMap(p, m), "f1,f2,f2a,f3,f3a,f4,f4a,f5,f6,f7,f8", "{a=b},InvalidDataConversionException,{a=b},InvalidDataConversionException,{a=b},InvalidDataConversionException,{a=b},{a=b},{a=b},{a=b},{a=b}"); + assertMapped(model, (r,p) -> r.getMap(p, m), "f1,f2,f2a,f3,f3a,f4,f4a,f5,f6,f7,f8", "{a=b},InvalidDataConversionException,{a=b},InvalidDataConversionException,{a=b},InvalidDataConversionException,{a=b},{a=b},{a=b},{a=b},{a=b}"); - assertNull(model.getMap("f1")); - assertThrows(InvalidDataConversionException.class, ()->model.getJsonMap("f2")); - assertThrows(InvalidDataConversionException.class, ()->model.getJsonMap("f3")); - assertThrows(InvalidDataConversionException.class, ()->model.getJsonMap("f4")); - assertNull(model.getJsonMap("f2a")); - assertNull(model.getJsonMap("f3a")); - assertNull(model.getJsonMap("f4a")); - assertNull(model.getJsonMap("f5")); - assertNull(model.getJsonMap("f6")); - assertNull(model.getJsonMap("f7")); - assertNull(model.getJsonMap("f8")); - - assertEquals("{a:'b'}", model.getJsonMap("f1", m).toString()); - assertThrows(InvalidDataConversionException.class, ()->model.getJsonMap("f2", m)); - assertThrows(InvalidDataConversionException.class, ()->model.getJsonMap("f3", m)); - assertThrows(InvalidDataConversionException.class, ()->model.getJsonMap("f4", m)); - assertEquals("{a:'b'}", model.getJsonMap("f2a", m).toString()); - assertEquals("{a:'b'}", model.getJsonMap("f3a", m).toString()); - assertEquals("{a:'b'}", model.getJsonMap("f4a", m).toString()); - assertEquals("{a:'b'}", model.getJsonMap("f5", m).toString()); - assertEquals("{a:'b'}", model.getJsonMap("f6", m).toString()); - assertEquals("{a:'b'}", model.getJsonMap("f7", m).toString()); - assertEquals("{a:'b'}", model.getJsonMap("f8", m).toString()); + assertMapped(model, ObjectRest::getJsonMap, "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "null,InvalidDataConversionException,InvalidDataConversionException,InvalidDataConversionException,null,null,null,null,null,null,null"); + + assertMapped(model, (r,p) -> r.getJsonMap(p, m), "f1,f2,f3,f4,f2a,f3a,f4a,f5,f6,f7,f8", "{a=b},InvalidDataConversionException,InvalidDataConversionException,InvalidDataConversionException,{a=b},{a=b},{a=b},{a=b},{a=b},{a=b},{a=b}"); assertNull(model.getList("f1")); assertThrows(InvalidDataConversionException.class, ()->model.getList("f2")); @@ -545,7 +424,6 @@ class ObjectRest_Test extends SimpleTestBase { assertEquals("{f5a:'a'}", model.get("f7").toString()); assertEquals("[{f6a:'a'}]", model.get("f8").toString()); - // BCTM - FEEDBACK: I don't believe the remaining code in this test method are good candidates for BCTM assertEquals("1", model.getWithDefault("f1", "foo")); assertEquals("2", model.getWithDefault("f2", "foo").toString()); assertEquals("3", model.getWithDefault("f3", "foo").toString()); @@ -751,18 +629,6 @@ class ObjectRest_Test extends SimpleTestBase { assertEquals("[{f6a:'a'}]", model.getJsonList("f8", l).toString()); } - private void assertObjectRest(ObjectRest r, BiFunction<ObjectRest,String,Object> f, String properties, String expected) { - var m = new LinkedHashMap<String,Object>(); - for (var p : split(properties)) { - try { - m.put(p, f.apply(r, p)); - } catch (Exception e) { - m.put(p, e.getClass().getSimpleName()); - } - } - assertMap(m, properties, expected); - } - public static class A { public String f1; public int f2; diff --git a/juneau-utest/src/test/java/org/apache/juneau/uon/UonParser_Test.java b/juneau-utest/src/test/java/org/apache/juneau/uon/UonParser_Test.java index 8501b861b..03eb3f66c 100755 --- a/juneau-utest/src/test/java/org/apache/juneau/uon/UonParser_Test.java +++ b/juneau-utest/src/test/java/org/apache/juneau/uon/UonParser_Test.java @@ -59,13 +59,10 @@ class UonParser_Test extends SimpleTestBase { // Top level t = "(a=b,c=123,d=false,e=true,f=null)"; var m = p.parse(t, Map.class); - assertEquals("b", m.get("a")); + assertBean(m, "a,c,d,e", "b,123,false,true"); assertTrue(m.get("c") instanceof Number); - assertEquals(123, m.get("c")); assertTrue(m.get("d") instanceof Boolean); - assertEquals(Boolean.FALSE, m.get("d")); assertTrue(m.get("e") instanceof Boolean); - assertEquals(Boolean.TRUE, m.get("e")); m = pe.parse(t, Map.class); assertNull(m.get("f")); diff --git a/juneau-utest/src/test/java/org/apache/juneau/xml/CommonParser_Test.java b/juneau-utest/src/test/java/org/apache/juneau/xml/CommonParser_Test.java index 3c6a6b85c..c59753daf 100755 --- a/juneau-utest/src/test/java/org/apache/juneau/xml/CommonParser_Test.java +++ b/juneau-utest/src/test/java/org/apache/juneau/xml/CommonParser_Test.java @@ -13,6 +13,7 @@ package org.apache.juneau.xml; import static org.junit.jupiter.api.Assertions.*; +import static org.apache.juneau.TestUtils.*; import java.util.*; @@ -33,15 +34,11 @@ class CommonParser_Test extends SimpleTestBase{ var m = (Map)p.parse("<object><a _type='number'>1</a></object>", Object.class); assertEquals(1, m.get("a")); m = (Map)p.parse("<object><a _type='number'>1</a><b _type='string'>foo bar</b></object>", Object.class); - assertEquals(1, m.get("a")); - assertEquals("foo bar", m.get("b")); + assertMap(m, "a,b", "1,foo bar"); m = (Map)p.parse("<object><a _type='number'>1</a><b _type='string'>foo bar</b><c _type='boolean'>false</c></object>", Object.class); - assertEquals(1, m.get("a")); - assertEquals(false, m.get("c")); + assertMap(m, "a,c", "1,false"); m = (Map)p.parse(" <object> <a _type='number'> 1 </a> <b _type='string'> foo </b> <c _type='boolean'> false </c> </object> ", Object.class); - assertEquals(1, m.get("a")); - assertEquals("foo", m.get("b")); - assertEquals(false, m.get("c")); + assertMap(m, "a,b,c", "1,foo,false"); m = (Map)p.parse("<object><x _type='string'>org.apache.juneau.test.Person</x><addresses _type='array'><object><x _type='string'>org.apache.juneau.test.Address</x><city _type='string'>city A</city><state _type='string'>state A</state><street _type='string'>street A</street><zip _type='number'>12345</zip></object></addresses></object>", Object.class); assertEquals("org.apache.juneau.test.Person", m.get("x")); @@ -49,11 +46,7 @@ class CommonParser_Test extends SimpleTestBase{ assertNotNull(l); m = (Map)l.get(0); assertNotNull(m); - assertEquals("org.apache.juneau.test.Address", m.get("x")); - assertEquals("city A", m.get("city")); - assertEquals("state A", m.get("state")); - assertEquals("street A", m.get("street")); - assertEquals(12345, m.get("zip")); + assertMap(m, "x,city,state,street,zip", "org.apache.juneau.test.Address,city A,state A,street A,12345"); var jl = (JsonList)p.parse("<array><object><attribute _type='string'>value</attribute></object><object><attribute _type='string'>value</attribute></object></array>", Object.class); assertEquals("value", jl.getMap(0).getString("attribute"));