in src/main/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/PostServletImportTest.java [100:127]
protected void assertExpectedJSON(JsonObject expectedJson, JsonObject actualJson) throws JsonException {
Iterator<String> keys = expectedJson.keySet().iterator();
while (keys.hasNext()) {
String key = keys.next();
Object object = expectedJson.get(key);
Object object2 = actualJson.get(key);
if (object instanceof JsonObject) {
assertTrue(object2 instanceof JsonObject);
assertExpectedJSON((JsonObject)object, (JsonObject)object2);
} else if (object instanceof JsonArray) {
//compare the array
assertTrue(object2 instanceof JsonArray);
JsonArray actualArray = (JsonArray)object2;
Set<Object> actualValuesSet = new HashSet<Object>();
for (int i=0; i < actualArray.size(); i++) {
actualValuesSet.add(actualArray.get(i));
}
JsonArray expectedArray = (JsonArray)object;
for (int i=0; i < expectedArray.size(); i++) {
assertTrue(actualValuesSet.contains(expectedArray.get(i)));
}
} else {
assertEquals("Value of key: " + key, object, object2);
}
}
}