@Test public void testStringMapToJSONConversion () throws Exception { Map<String, String> p = new HashMap<>(); p.put("a", "aval"); p.put("b.0", "bval0"); p.put("b.2", "bval2"); p.put("c.1", "cval1"); p.put("c.a", "cvala"); p.put("c.b.a", "cbaval"); p.put("c.b.b", "cbbval"); JSONObject expected = new JSONObject("{\"a\": \"aval\", \"b\": [\"bval0\", null, \"bval2\"], \"c\": {\"1\": \"cval1\", \"a\": \"cvala\", \"b\": {\"a\": \"cbaval\", \"b\": \"cbbval\"}}}"); JSONObject actual = JsonUtilities.mapToJSON(p); assertJsonEqual(expected, actual); }
public static void assertJsonEqual (JSONArray expected, JSONArray actual) { List<Object> listE = JsonUtilities.jsonArrayToList(expected); List<Object> listA = JsonUtilities.jsonArrayToList(actual); assertEquals(listE, listA); }
public static void assertJsonEqual (JSONObject expected, JSONObject actual) { Map<String, Object> mapE = JsonUtilities.jsonObjToMap(expected); Map<String, Object> mapA = JsonUtilities.jsonObjToMap(actual); assertEquals(mapE, mapA); }
private static void assertEquals (Object expected, Object actual) { if (expected instanceof List) { Assert.assertTrue("Expected a list, but didn't get one", actual instanceof List); List<?> eList = (List<?>) expected; List<?> aList = (List<?>) actual; Assert.assertEquals(eList.size(), aList.size()); for (int i=0; i<eList.size(); ++i) { assertEquals(eList.get(i), aList.get(i)); } } else if (expected instanceof Map) { Assert.assertTrue("Expected a map, but didn't get one", actual instanceof Map); Map<?, ?> eMap = (Map<?, ?>) expected; Map<?, ?> aMap = (Map<?, ?>) actual; Assert.assertEquals(eMap.size(), aMap.size()); for (Object key: eMap.keySet()) { Assert.assertTrue(aMap.containsKey(key)); assertEquals(eMap.get(key), aMap.get(key)); } } else { Assert.assertEquals(expected, actual); } } }
@Test public void testPropertyToJSONConversion () throws Exception { Properties p = new Properties(); p.setProperty("a", "aval"); p.setProperty("b.0", "bval0"); p.setProperty("b.2", "bval2"); p.setProperty("c.1", "cval1"); p.setProperty("c.a", "cvala"); p.setProperty("c.b.a", "cbaval"); p.setProperty("c.b.b", "cbbval"); p.setProperty("d", "{\"x\":\"xval\", \"y\": 10}"); JSONObject expected = new JSONObject("{\"a\": \"aval\", \"b\": [\"bval0\", null, \"bval2\"], " + "\"c\": {\"1\": \"cval1\", \"a\": \"cvala\", \"b\": {\"a\": \"cbaval\", \"b\": \"cbbval\"}}, " + "\"d\" : { \"x\" : \"xval\", \"y\" : 10 }}"); JSONObject actual = JsonUtilities.propertiesObjToJSON(p); assertJsonEqual(expected, actual); }
"}"); assertJsonEqual(target, JsonUtilities.expandKeysInPlace(source));