@Test void testAddInteger() { assertSame(jsonArray, jsonArray.add(123)); assertEquals(Integer.valueOf(123), jsonArray.getInteger(0)); }
@Test void testCreateFromListCharSequence() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); list.add(new StringBuilder("eek")); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertEquals("eek", arr.getString(2)); assertSame(list, arr.list()); }
@Test void testCreateFromList() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.list()); }
@Test void testGetInteger() { jsonArray.add(123); assertEquals(Integer.valueOf(123), jsonArray.getInteger(0)); try { jsonArray.getInteger(-1); fail("error"); jsonArray.getInteger(1); fail("error"); assertEquals(Integer.valueOf(123), jsonArray.getInteger(1)); jsonArray.add(123f); assertEquals(Integer.valueOf(123), jsonArray.getInteger(2)); jsonArray.add(123d); assertEquals(Integer.valueOf(123), jsonArray.getInteger(3)); jsonArray.add("foo"); try { jsonArray.getInteger(4); fail("error"); assertNull(jsonArray.getInteger(5));
@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 testCreateFromListNestedMap() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); Map<String, Object> map = new HashMap<>(); map.put("blah", "wibble"); list.add(map); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.list()); JsonObject obj = arr.getJsonObject(2); assertSame(map, obj.map()); }
@Test void testCreateFromListNestedJsonObject() { List<Object> list = new ArrayList<>(); list.add("foo"); list.add(123); JsonObject obj = new JsonObject().put("blah", "wibble"); list.add(obj); JsonArray arr = new JsonArray(list); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertSame(list, arr.list()); assertSame(obj, arr.getJsonObject(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 testAddAllJsonArray() { jsonArray.add("bar"); JsonArray arr = new JsonArray().add("foo").add(48); assertSame(jsonArray, jsonArray.addAll(arr)); assertEquals(arr.getString(0), jsonArray.getString(1)); assertEquals(arr.getInteger(1), jsonArray.getInteger(2)); }
@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)); }); }
@Test void testDecode() { JsonParsers.forEachParser(jsonParser -> { byte[] bytes = randomByteArray(10); String strBytes = Base64.getEncoder().encodeToString(bytes); String json = "{\"mystr\":\"foo\",\"myint\":123,\"mylong\":1234,\"myfloat\":1.23,\"mydouble\":2.34,\"" + "myboolean\":true,\"mybinary\":\"" + strBytes + "\",\"mynull\":null,\"myobj\":{\"foo\":\"bar\"},\"myarr\":[\"foo\",123]}"; JsonObject obj = new JsonObject(jsonParser.parse(json)); assertEquals("foo", obj.getString("mystr")); assertEquals(Integer.valueOf(123), obj.getInteger("myint")); assertEquals(Long.valueOf(1234), obj.getLong("mylong")); assertEquals(Float.valueOf(1.23f), obj.getFloat("myfloat")); assertEquals(Double.valueOf(2.34d), obj.getDouble("mydouble")); assertTrue(obj.getBoolean("myboolean")); assertArrayEquals(bytes, obj.getBinary("mybinary")); assertTrue(obj.containsKey("mynull")); JsonObject nestedObj = obj.getJsonObject("myobj"); assertEquals("bar", nestedObj.getString("foo")); JsonArray nestedArr = obj.getJsonArray("myarr"); assertEquals("foo", nestedArr.getString(0)); assertEquals(Integer.valueOf(123), Integer.valueOf(nestedArr.getInteger(1))); }); }
jsonArray.add((Object) arr); assertEquals("bar", jsonArray.getString(0)); assertEquals(Integer.valueOf(123), jsonArray.getInteger(1)); assertEquals(Long.valueOf(123L), jsonArray.getLong(2)); assertEquals(Float.valueOf(1.23f), jsonArray.getFloat(3));