protected void assertExpectedJSON()

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);
    		}
    	}
    }