@Test void testCreateFromListNestedList() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); List<Object> list2 = new ArrayList<>(); list2.add("blah"); list2.add("wibble"); list.add(list2); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.list()); JsonArray arr2 = arr.getJsonArray(2); assertSame(list2, arr2.list()); }
@Test void testGetJsonArray() { JsonArray arr = new JsonArray().add("foo"); jsonArray.add(arr); assertEquals(arr, jsonArray.getJsonArray(0)); try { jsonArray.getJsonArray(-1); fail("error"); } catch (IndexOutOfBoundsException e) { // OK } try { jsonArray.getJsonArray(1); fail("error"); } catch (IndexOutOfBoundsException e) { // OK } jsonArray.add(123); try { jsonArray.getJsonArray(1); fail("error"); } catch (ClassCastException e) { // OK } jsonArray.addNull(); assertNull(jsonArray.getJsonArray(2)); }
@Test void testCreateFromListNestedJsonArray() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); JsonArray arr2 = new JsonArray().add("blah").add("wibble"); list.add(arr2); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.list()); assertSame(arr2, arr.getJsonArray(2)); }
@Test void testAddJsonArray() { JsonArray arr = new JsonArray().add("foo"); assertSame(jsonArray, jsonArray.add(arr)); assertEquals(arr, jsonArray.getJsonArray(0)); }
@Test void testDecode() { JsonParsers.forEachParser(jsonParser -> { byte[] bytes = randomByteArray(10); String strBytes = Base64.getEncoder().encodeToString(bytes); String json = "[\"foo\",123,1234,1.23,2.34,true,\"" + strBytes + "\",null,{\"foo\":\"bar\"},[\"foo\",123]]"; JsonArray arr = jsonParser.parseAsJsonArray(json); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertEquals(Long.valueOf(1234L), arr.getLong(2)); assertEquals(Float.valueOf(1.23f), arr.getFloat(3)); assertEquals(Double.valueOf(2.34d), arr.getDouble(4)); assertEquals(true, arr.getBoolean(5)); assertArrayEquals(bytes, arr.getBinary(6)); assertTrue(arr.hasNull(7)); JsonObject obj = arr.getJsonObject(8); assertEquals("bar", obj.getString("foo")); JsonArray arr2 = arr.getJsonArray(9); assertEquals("foo", arr2.getString(0)); assertEquals(Integer.valueOf(123), arr2.getInteger(1)); }); }
assertArrayEquals(bytes, jsonArray.getBinary(6)); assertEquals(obj, jsonArray.getJsonObject(7)); assertEquals(arr, jsonArray.getJsonArray(8)); try { jsonArray.add(new SomeClass());