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 ea42f88cd Test modernization
ea42f88cd is described below
commit ea42f88cdcd8ec5012cf85ec32d260c1f7fa4193
Author: James Bognar <[email protected]>
AuthorDate: Thu Aug 28 10:35:19 2025 -0400
Test modernization
---
.../test/java/org/apache/juneau/BeanMap_Test.java | 70 ++++++-------
.../src/test/java/org/apache/juneau/TestUtils.java | 16 +--
.../java/org/apache/juneau/config/Config_Test.java | 36 +++----
.../juneau/jsonschema/JsonSchemaGeneratorTest.java | 110 ++++++++++-----------
4 files changed, 113 insertions(+), 119 deletions(-)
diff --git a/juneau-utest/src/test/java/org/apache/juneau/BeanMap_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/BeanMap_Test.java
index 18670f59b..df6d6a0fc 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/BeanMap_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/BeanMap_Test.java
@@ -216,13 +216,12 @@ class BeanMap_Test extends SimpleTestBase {
m.put("jl1", JsonList.ofJson("[1,2,3]"));
// al1 should be initialized with an ArrayList, since it's not
a superclass of JsonList.
- assertEquals(ArrayList.class.getName(),
m.get("al1").getClass().getName());
-
// The rest are proper superclasses of JsonList.
- assertEquals(JsonList.class.getName(),
m.get("l1").getClass().getName());
- assertEquals(LinkedList.class.getName(),
m.get("ll1").getClass().getName());
- assertEquals(JsonList.class.getName(),
m.get("c1").getClass().getName());
- assertEquals(JsonList.class.getName(),
m.get("jl1").getClass().getName());
+ assertMap(
+ m,
+
"al1{class{name}},l1{class{name}},ll1{class{name}},c1{class{name}},jl1{class{name}}",
+
"{{java.util.ArrayList}},{{org.apache.juneau.collections.JsonList}},{{java.util.LinkedList}},{{org.apache.juneau.collections.JsonList}},{{org.apache.juneau.collections.JsonList}}"
+ );
// Non-initialized map fields.
m.put("m1", JsonMap.ofJson("{foo:'bar'}"));
@@ -231,12 +230,12 @@ class BeanMap_Test extends SimpleTestBase {
m.put("tm1", JsonMap.ofJson("{foo:'bar'}"));
// tm1 should be initialized with TreeMap, since it's not a
superclass of JsonMap.
- assertEquals(TreeMap.class.getName(),
m.get("tm1").getClass().getName());
-
// The rest are proper superclasses of JsonMap
- assertEquals(JsonMap.class.getName(),
m.get("m1").getClass().getName());
- assertEquals(HashMap.class.getName(),
m.get("hm1").getClass().getName());
- assertEquals(JsonMap.class.getName(),
m.get("jm1").getClass().getName());
+ assertBean(
+ m,
+
"tm1{class{name}},m1{class{name}},hm1{class{name}},jm1{class{name}}",
+
"{{java.util.TreeMap}},{{org.apache.juneau.collections.JsonMap}},{{java.util.HashMap}},{{org.apache.juneau.collections.JsonMap}}"
+ );
// Initialized fields should reuse existing field value.
m.put("l2", JsonList.ofJson("[1,2,3]"));
@@ -249,15 +248,11 @@ class BeanMap_Test extends SimpleTestBase {
m.put("jm2", JsonMap.ofJson("{foo:'bar'}"));
m.put("jl2", JsonList.ofJson("[1,2,3]"));
- assertEquals(ArrayList.class.getName(),
m.get("l2").getClass().getName());
- assertEquals(ArrayList.class.getName(),
m.get("al2").getClass().getName());
- assertEquals(LinkedList.class.getName(),
m.get("ll2").getClass().getName());
- assertEquals(ArrayList.class.getName(),
m.get("c2").getClass().getName());
- assertEquals(HashMap.class.getName(),
m.get("m2").getClass().getName());
- assertEquals(HashMap.class.getName(),
m.get("hm2").getClass().getName());
- assertEquals(TreeMap.class.getName(),
m.get("tm2").getClass().getName());
- assertEquals(JsonMap.class.getName(),
m.get("jm2").getClass().getName());
- assertEquals(JsonList.class.getName(),
m.get("jl2").getClass().getName());
+ assertBean(
+ m,
+
"l2{class{name}},al2{class{name}},ll2{class{name}},c2{class{name}},m2{class{name}},hm2{class{name}},tm2{class{name}},jm2{class{name}},jl2{class{name}}",
+
"{{java.util.ArrayList}},{{java.util.ArrayList}},{{java.util.LinkedList}},{{java.util.ArrayList}},{{java.util.HashMap}},{{java.util.HashMap}},{{java.util.TreeMap}},{{org.apache.juneau.collections.JsonMap}},{{org.apache.juneau.collections.JsonList}}"
+ );
}
public static class C {
@@ -296,13 +291,12 @@ class BeanMap_Test extends SimpleTestBase {
m.put("jl1", JsonList.ofJson("[1,2,3]"));
// al1 should be initialized with an ArrayList, since it's not
a superclass of JsonList.
- assertEquals(ArrayList.class.getName(),
m.get("al1").getClass().getName());
-
// The rest are proper superclasses of JsonList.
- assertEquals(JsonList.class.getName(),
m.get("l1").getClass().getName());
- assertEquals(JsonList.class.getName(),
m.get("ll1").getClass().getName());
- assertEquals(JsonList.class.getName(),
m.get("c1").getClass().getName());
- assertEquals(JsonList.class.getName(),
m.get("jl1").getClass().getName());
+ assertBean(
+ m,
+
"al1{class{name}},l1{class{name}},ll1{class{name}},c1{class{name}},jl1{class{name}}",
+
"{{java.util.ArrayList}},{{org.apache.juneau.collections.JsonList}},{{org.apache.juneau.collections.JsonList}},{{org.apache.juneau.collections.JsonList}},{{org.apache.juneau.collections.JsonList}}"
+ );
// Non-initialized map fields.
m.put("m1", JsonMap.ofJson("{foo:'bar'}"));
@@ -311,12 +305,12 @@ class BeanMap_Test extends SimpleTestBase {
m.put("tm1", JsonMap.ofJson("{foo:'bar'}"));
// tm1 should be initialized with TreeMap, since it's not a
superclass of JsonMap.
- assertEquals(TreeMap.class.getName(),
m.get("tm1").getClass().getName());
-
// The rest are proper superclasses of JsonMap
- assertEquals(JsonMap.class.getName(),
m.get("m1").getClass().getName());
- assertEquals(JsonMap.class.getName(),
m.get("hm1").getClass().getName());
- assertEquals(JsonMap.class.getName(),
m.get("jm1").getClass().getName());
+ assertBean(
+ m,
+
"tm1{class{name}},m1{class{name}},hm1{class{name}},jm1{class{name}}",
+
"{{java.util.TreeMap}},{{org.apache.juneau.collections.JsonMap}},{{org.apache.juneau.collections.JsonMap}},{{org.apache.juneau.collections.JsonMap}}"
+ );
// Initialized fields should reuse existing field value.
m.put("l2", JsonList.ofJson("[1,2,3]"));
@@ -329,15 +323,11 @@ class BeanMap_Test extends SimpleTestBase {
m.put("jm2", JsonMap.ofJson("{foo:'bar'}"));
m.put("jl2", JsonList.ofJson("[1,2,3]"));
- assertEquals(JsonList.class.getName(),
m.get("l2").getClass().getName());
- assertEquals(ArrayList.class.getName(),
m.get("al2").getClass().getName());
- assertEquals(JsonList.class.getName(),
m.get("ll2").getClass().getName());
- assertEquals(JsonList.class.getName(),
m.get("c2").getClass().getName());
- assertEquals(JsonMap.class.getName(),
m.get("m2").getClass().getName());
- assertEquals(JsonMap.class.getName(),
m.get("hm2").getClass().getName());
- assertEquals(TreeMap.class.getName(),
m.get("tm2").getClass().getName());
- assertEquals(JsonMap.class.getName(),
m.get("jm2").getClass().getName());
- assertEquals(JsonList.class.getName(),
m.get("jl2").getClass().getName());
+ assertBean(
+ m,
+
"l2{class{name}},al2{class{name}},ll2{class{name}},c2{class{name}},m2{class{name}},hm2{class{name}},tm2{class{name}},jm2{class{name}},jl2{class{name}}",
+
"{{org.apache.juneau.collections.JsonList}},{{java.util.ArrayList}},{{org.apache.juneau.collections.JsonList}},{{org.apache.juneau.collections.JsonList}},{{org.apache.juneau.collections.JsonMap}},{{org.apache.juneau.collections.JsonMap}},{{java.util.TreeMap}},{{org.apache.juneau.collections.JsonMap}},{{org.apache.juneau.collections.JsonList}}"
+ );
}
public static class D {
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 20ce012d2..645fe41bd 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
@@ -352,15 +352,19 @@ public class TestUtils extends Utils2 {
@SuppressWarnings("unchecked")
private static Object getEntry(Object o, String name) {
- if (o instanceof List o2) return o2.get(Integer.parseInt(name));
- if (o.getClass().isArray()) return Array.get(o,
Integer.parseInt(name));
- if (o instanceof Map o2) return o2.get(name);
- if (o instanceof Iterable o2) return
toList(o2).get(Integer.parseInt(name));
- if (o instanceof Iterator o2) return
toList(o2).get(Integer.parseInt(name));
- if (o instanceof Enumeration o2) return
toList(o2).get(Integer.parseInt(name));
+ if (o instanceof List o2) return isNumeric(name) ?
o2.get(Integer.parseInt(name)) : getBeanProp(o, name);
+ if (o.getClass().isArray()) return isNumeric(name) ?
Array.get(o, Integer.parseInt(name)) : getBeanProp(o, name);
+ if (o instanceof Map o2) return
opt(o2.get(name)).orElse(name.equals("class") ? o.getClass() : null);
+ if (o instanceof Iterable o2) return isNumeric(name) ?
toList(o2).get(Integer.parseInt(name)) : getBeanProp(o, name);
+ if (o instanceof Iterator o2) return isNumeric(name) ?
toList(o2).get(Integer.parseInt(name)) : getBeanProp(o, name);
+ if (o instanceof Enumeration o2) return isNumeric(name) ?
toList(o2).get(Integer.parseInt(name)) : getBeanProp(o, name);
return TestUtils.getBeanProp(o, name);
}
+ private static boolean isNumeric(String name) {
+ return StringUtils.isNumeric(name);
+ }
+
/**
* Returns the value of the specified field/property on the specified
object.
* First looks for getter, then looks for field.
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/config/Config_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/config/Config_Test.java
index 32d02410d..9e6f028e4 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/config/Config_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/config/Config_Test.java
@@ -240,11 +240,11 @@ class Config_Test extends SimpleTestBase {
//====================================================================================================
@Test void getStringArray1() {
var c = init("a1=1,2", "a2= 2 , 3 ", "[S]", "b1=1", "b2=");
- assertJson(c.get("a1").as(String[].class).orElse(null),
"['1','2']");
- assertJson(c.get("a2").as(String[].class).orElse(null),
"['2','3']");
+ assertArray(c.get("a1").as(String[].class).orElse(null), "1",
"2"); // BCTM Feedback - assertArray can be used for arrays.
+ assertArray(c.get("a2").as(String[].class).orElse(null), "2",
"3");
assertNull(c.get("a3").as(String[].class).orElse(null));
- assertJson(c.get("S/b1").as(String[].class).orElse(null),
"['1']");
- assertJson(c.get("S/b2").as(String[].class).orElse(null), "[]");
+ assertArray(c.get("S/b1").as(String[].class).orElse(null), "1");
+ assertArray(c.get("S/b2").as(String[].class).orElse(null));
assertNull(c.get("S/b3").as(String[].class).orElse(null));
assertNull(c.get("T/c1").as(String[].class).orElse(null));
}
@@ -254,13 +254,13 @@ class Config_Test extends SimpleTestBase {
//====================================================================================================
@Test void getStringArray2() {
var c = init("a1=1,2", "a2= 2 , 3 ", "[S]", "b1=1", "b2=");
- assertJson(c.get("a1").asStringArray().orElse(new String[]
{"foo"}), "['1','2']");
- assertJson(c.get("a2").asStringArray().orElse(new String[]
{"foo"}), "['2','3']");
- assertJson(c.get("a3").asStringArray().orElse(new String[]
{"foo"}), "['foo']");
- assertJson(c.get("S/b1").asStringArray().orElse(new String[]
{"foo"}), "['1']");
- assertJson(c.get("S/b2").asStringArray().orElse(new String[]
{"foo"}), "[]");
- assertJson(c.get("S/b3").asStringArray().orElse(new String[]
{"foo"}), "['foo']");
- assertJson(c.get("T/c1").asStringArray().orElse(new String[]
{"foo"}), "['foo']");
+ assertArray(c.get("a1").asStringArray().orElse(new String[]
{"foo"}), "1", "2");
+ assertArray(c.get("a2").asStringArray().orElse(new String[]
{"foo"}), "2", "3");
+ assertArray(c.get("a3").asStringArray().orElse(new String[]
{"foo"}), "foo");
+ assertArray(c.get("S/b1").asStringArray().orElse(new String[]
{"foo"}), "1");
+ assertArray(c.get("S/b2").asStringArray().orElse(new String[]
{"foo"}));
+ assertArray(c.get("S/b3").asStringArray().orElse(new String[]
{"foo"}), "foo");
+ assertArray(c.get("T/c1").asStringArray().orElse(new String[]
{"foo"}), "foo");
}
//====================================================================================================
@@ -402,9 +402,9 @@ class Config_Test extends SimpleTestBase {
@Test void getBytes1() {
var c = init("a1=Zm9v", "a2=Zm", "\t9v", "a3=");
- assertJson(c.get("a1").as(byte[].class), "[102,111,111]");
- assertJson(c.get("a2").as(byte[].class), "[102,111,111]");
- assertJson(c.get("a3").as(byte[].class), "[]");
+ assertArray(c.get("a1").as(byte[].class).get(), (byte)102,
(byte)111, (byte)111); // BCTM - as() returns an Optional here that needs to
be unwrapped.
+ assertArray(c.get("a2").as(byte[].class).get(), (byte)102,
(byte)111, (byte)111);
+ assertArray(c.get("a3").as(byte[].class).get());
assertFalse(c.get("a4").as(byte[].class).isPresent());
}
@@ -414,10 +414,10 @@ class Config_Test extends SimpleTestBase {
@Test void getBytes2() {
var c = init("a1=Zm9v", "a2=Zm", "\t9v", "a3=");
- assertJson(c.get("a1").asBytes().orElse(new byte[] {1}),
"[102,111,111]");
- assertJson(c.get("a2").asBytes().orElse(new byte[] {1}),
"[102,111,111]");
- assertJson(c.get("a3").asBytes().orElse(new byte[] {1}), "[]");
- assertJson(c.get("a4").asBytes().orElse(new byte[] {1}), "[1]");
+ assertArray(c.get("a1").asBytes().orElse(new byte[] {1}),
(byte)102, (byte)111, (byte)111);
+ assertArray(c.get("a2").asBytes().orElse(new byte[] {1}),
(byte)102, (byte)111, (byte)111);
+ assertArray(c.get("a3").asBytes().orElse(new byte[] {1}));
+ assertArray(c.get("a4").asBytes().orElse(new byte[] {1}),
(byte)1);
}
//====================================================================================================
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
index bd2d5521e..f9918c58c 100755
---
a/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorTest.java
@@ -34,24 +34,24 @@ class JsonSchemaGeneratorTest extends SimpleTestBase {
@Test void simpleObjects() throws Exception {
var s = JsonSchemaGenerator.DEFAULT.getSession();
- assertJson(s.getSchema(short.class),
"{type:'integer',format:'int16'}");
- assertJson(s.getSchema(Short.class),
"{type:'integer',format:'int16'}");
- assertJson(s.getSchema(int.class),
"{type:'integer',format:'int32'}");
- assertJson(s.getSchema(Integer.class),
"{type:'integer',format:'int32'}");
- assertJson(s.getSchema(long.class),
"{type:'integer',format:'int64'}");
- assertJson(s.getSchema(Long.class),
"{type:'integer',format:'int64'}");
- assertJson(s.getSchema(float.class),
"{type:'number',format:'float'}");
- assertJson(s.getSchema(Float.class),
"{type:'number',format:'float'}");
- assertJson(s.getSchema(double.class),
"{type:'number',format:'double'}");
- assertJson(s.getSchema(Double.class),
"{type:'number',format:'double'}");
- assertJson(s.getSchema(boolean.class), "{type:'boolean'}");
- assertJson(s.getSchema(Boolean.class), "{type:'boolean'}");
- assertJson(s.getSchema(String.class), "{type:'string'}");
- assertJson(s.getSchema(StringBuilder.class), "{type:'string'}");
- assertJson(s.getSchema(char.class), "{type:'string'}");
- assertJson(s.getSchema(Character.class), "{type:'string'}");
- assertJson(s.getSchema(TestEnumToString.class),
"{type:'string','enum':['one','two','three']}");
- assertJson(s.getSchema(SimpleBean.class),
"{type:'object',properties:{f1:{type:'string'}}}");
+ assertBean(s.getSchema(short.class), "type,format",
"integer,int16");
+ assertBean(s.getSchema(Short.class), "type,format",
"integer,int16");
+ assertBean(s.getSchema(int.class), "type,format",
"integer,int32");
+ assertBean(s.getSchema(Integer.class), "type,format",
"integer,int32");
+ assertBean(s.getSchema(long.class), "type,format",
"integer,int64");
+ assertBean(s.getSchema(Long.class), "type,format",
"integer,int64");
+ assertBean(s.getSchema(float.class), "type,format",
"number,float");
+ assertBean(s.getSchema(Float.class), "type,format",
"number,float");
+ assertBean(s.getSchema(double.class), "type,format",
"number,double");
+ assertBean(s.getSchema(Double.class), "type,format",
"number,double");
+ assertBean(s.getSchema(boolean.class), "type", "boolean");
+ assertBean(s.getSchema(Boolean.class), "type", "boolean");
+ assertBean(s.getSchema(String.class), "type", "string");
+ assertBean(s.getSchema(StringBuilder.class), "type", "string");
+ assertBean(s.getSchema(char.class), "type", "string");
+ assertBean(s.getSchema(Character.class), "type", "string");
+ assertBean(s.getSchema(TestEnumToString.class), "type,enum",
"string,[one,two,three]");
+ assertBean(s.getSchema(SimpleBean.class),
"type,properties{f1{type}}", "object,{{string}}");
}
public static class SimpleBean {
@@ -65,47 +65,47 @@ class JsonSchemaGeneratorTest extends SimpleTestBase {
@Test void arrays1d() throws Exception {
var s = JsonSchemaGenerator.DEFAULT.getSession();
- assertJson(s.getSchema(short[].class),
"{type:'array',items:{type:'integer',format:'int16'}}");
- assertJson(s.getSchema(Short[].class),
"{type:'array',items:{type:'integer',format:'int16'}}");
- assertJson(s.getSchema(int[].class),
"{type:'array',items:{type:'integer',format:'int32'}}");
- assertJson(s.getSchema(Integer[].class),
"{type:'array',items:{type:'integer',format:'int32'}}");
- assertJson(s.getSchema(long[].class),
"{type:'array',items:{type:'integer',format:'int64'}}");
- assertJson(s.getSchema(Long[].class),
"{type:'array',items:{type:'integer',format:'int64'}}");
- assertJson(s.getSchema(float[].class),
"{type:'array',items:{type:'number',format:'float'}}");
- assertJson(s.getSchema(Float[].class),
"{type:'array',items:{type:'number',format:'float'}}");
- assertJson(s.getSchema(double[].class),
"{type:'array',items:{type:'number',format:'double'}}");
- assertJson(s.getSchema(Double[].class),
"{type:'array',items:{type:'number',format:'double'}}");
- assertJson(s.getSchema(boolean[].class),
"{type:'array',items:{type:'boolean'}}");
- assertJson(s.getSchema(Boolean[].class),
"{type:'array',items:{type:'boolean'}}");
- assertJson(s.getSchema(String[].class),
"{type:'array',items:{type:'string'}}");
- assertJson(s.getSchema(StringBuilder[].class),
"{type:'array',items:{type:'string'}}");
- assertJson(s.getSchema(char[].class),
"{type:'array',items:{type:'string'}}");
- assertJson(s.getSchema(Character[].class),
"{type:'array',items:{type:'string'}}");
- assertJson(s.getSchema(TestEnumToString[].class),
"{type:'array',items:{type:'string','enum':['one','two','three']}}");
- assertJson(s.getSchema(SimpleBean[].class),
"{type:'array',items:{type:'object',properties:{f1:{type:'string'}}}}");
+ assertBean(s.getSchema(short[].class),
"type,items{type,format}", "array,{integer,int16}");
+ assertBean(s.getSchema(Short[].class),
"type,items{type,format}", "array,{integer,int16}");
+ assertBean(s.getSchema(int[].class), "type,items{type,format}",
"array,{integer,int32}");
+ assertBean(s.getSchema(Integer[].class),
"type,items{type,format}", "array,{integer,int32}");
+ assertBean(s.getSchema(long[].class),
"type,items{type,format}", "array,{integer,int64}");
+ assertBean(s.getSchema(Long[].class),
"type,items{type,format}", "array,{integer,int64}");
+ assertBean(s.getSchema(float[].class),
"type,items{type,format}", "array,{number,float}");
+ assertBean(s.getSchema(Float[].class),
"type,items{type,format}", "array,{number,float}");
+ assertBean(s.getSchema(double[].class),
"type,items{type,format}", "array,{number,double}");
+ assertBean(s.getSchema(Double[].class),
"type,items{type,format}", "array,{number,double}");
+ assertBean(s.getSchema(boolean[].class), "type,items{type}",
"array,{boolean}");
+ assertBean(s.getSchema(Boolean[].class), "type,items{type}",
"array,{boolean}");
+ assertBean(s.getSchema(String[].class), "type,items{type}",
"array,{string}");
+ assertBean(s.getSchema(StringBuilder[].class),
"type,items{type}", "array,{string}");
+ assertBean(s.getSchema(char[].class), "type,items{type}",
"array,{string}");
+ assertBean(s.getSchema(Character[].class), "type,items{type}",
"array,{string}");
+ assertBean(s.getSchema(TestEnumToString[].class),
"type,items{type,enum}", "array,{string,[one,two,three]}");
+ assertBean(s.getSchema(SimpleBean[].class),
"type,items{type,properties{f1{type}}}", "array,{object,{{string}}}");
}
@Test void arrays2d() throws Exception {
var s = JsonSchemaGenerator.DEFAULT.getSession();
- assertJson(s.getSchema(short[][].class),
"{type:'array',items:{type:'array',items:{type:'integer',format:'int16'}}}");
- assertJson(s.getSchema(Short[][].class),
"{type:'array',items:{type:'array',items:{type:'integer',format:'int16'}}}");
- assertJson(s.getSchema(int[][].class),
"{type:'array',items:{type:'array',items:{type:'integer',format:'int32'}}}");
- assertJson(s.getSchema(Integer[][].class),
"{type:'array',items:{type:'array',items:{type:'integer',format:'int32'}}}");
- assertJson(s.getSchema(long[][].class),
"{type:'array',items:{type:'array',items:{type:'integer',format:'int64'}}}");
- assertJson(s.getSchema(Long[][].class),
"{type:'array',items:{type:'array',items:{type:'integer',format:'int64'}}}");
- assertJson(s.getSchema(float[][].class),
"{type:'array',items:{type:'array',items:{type:'number',format:'float'}}}");
- assertJson(s.getSchema(Float[][].class),
"{type:'array',items:{type:'array',items:{type:'number',format:'float'}}}");
- assertJson(s.getSchema(double[][].class),
"{type:'array',items:{type:'array',items:{type:'number',format:'double'}}}");
- assertJson(s.getSchema(Double[][].class),
"{type:'array',items:{type:'array',items:{type:'number',format:'double'}}}");
- assertJson(s.getSchema(boolean[][].class),
"{type:'array',items:{type:'array',items:{type:'boolean'}}}");
- assertJson(s.getSchema(Boolean[][].class),
"{type:'array',items:{type:'array',items:{type:'boolean'}}}");
- assertJson(s.getSchema(String[][].class),
"{type:'array',items:{type:'array',items:{type:'string'}}}");
- assertJson(s.getSchema(StringBuilder[][].class),
"{type:'array',items:{type:'array',items:{type:'string'}}}");
- assertJson(s.getSchema(char[][].class),
"{type:'array',items:{type:'array',items:{type:'string'}}}");
- assertJson(s.getSchema(Character[][].class),
"{type:'array',items:{type:'array',items:{type:'string'}}}");
- assertJson(s.getSchema(TestEnumToString[][].class),
"{type:'array',items:{type:'array',items:{type:'string','enum':['one','two','three']}}}");
- assertJson(s.getSchema(SimpleBean[][].class),
"{type:'array',items:{type:'array',items:{type:'object',properties:{f1:{type:'string'}}}}}");
+ assertBean(s.getSchema(short[][].class),
"type,items{type,items{type,format}}", "array,{array,{integer,int16}}");
+ assertBean(s.getSchema(Short[][].class),
"type,items{type,items{type,format}}", "array,{array,{integer,int16}}");
+ assertBean(s.getSchema(int[][].class),
"type,items{type,items{type,format}}", "array,{array,{integer,int32}}");
+ assertBean(s.getSchema(Integer[][].class),
"type,items{type,items{type,format}}", "array,{array,{integer,int32}}");
+ assertBean(s.getSchema(long[][].class),
"type,items{type,items{type,format}}", "array,{array,{integer,int64}}");
+ assertBean(s.getSchema(Long[][].class),
"type,items{type,items{type,format}}", "array,{array,{integer,int64}}");
+ assertBean(s.getSchema(float[][].class),
"type,items{type,items{type,format}}", "array,{array,{number,float}}");
+ assertBean(s.getSchema(Float[][].class),
"type,items{type,items{type,format}}", "array,{array,{number,float}}");
+ assertBean(s.getSchema(double[][].class),
"type,items{type,items{type,format}}", "array,{array,{number,double}}");
+ assertBean(s.getSchema(Double[][].class),
"type,items{type,items{type,format}}", "array,{array,{number,double}}");
+ assertBean(s.getSchema(boolean[][].class),
"type,items{type,items{type}}", "array,{array,{boolean}}");
+ assertBean(s.getSchema(Boolean[][].class),
"type,items{type,items{type}}", "array,{array,{boolean}}");
+ assertBean(s.getSchema(String[][].class),
"type,items{type,items{type}}", "array,{array,{string}}");
+ assertBean(s.getSchema(StringBuilder[][].class),
"type,items{type,items{type}}", "array,{array,{string}}");
+ assertBean(s.getSchema(char[][].class),
"type,items{type,items{type}}", "array,{array,{string}}");
+ assertBean(s.getSchema(Character[][].class),
"type,items{type,items{type}}", "array,{array,{string}}");
+ assertBean(s.getSchema(TestEnumToString[][].class),
"type,items{type,items{type,enum}}", "array,{array,{string,[one,two,three]}}");
+ assertBean(s.getSchema(SimpleBean[][].class),
"type,items{type,items{type,properties{f1{type}}}}",
"array,{array,{object,{{string}}}}");
}
//====================================================================================================
@@ -114,7 +114,7 @@ class JsonSchemaGeneratorTest extends SimpleTestBase {
@Test void simpleList() throws Exception {
var s = JsonSchemaGenerator.DEFAULT.getSession();
- assertJson(s.getSchema(SimpleList.class),
"{type:'array',items:{type:'integer',format:'int32'}}");
+ assertBean(s.getSchema(SimpleList.class),
"type,items{type,format}", "array,{integer,int32}");
}
@SuppressWarnings("serial")