public boolean compare(JSONObject expected, JSONObject actual) {
MapDifference mapDifferences = Maps.difference(expected, actual);
if (mapDifferences.entriesOnlyOnLeft().size() > 0) Assert.fail("Expected JSON has extra parameters: " + mapDifferences.entriesOnlyOnLeft());
if (mapDifferences.entriesOnlyOnRight().size() > 0) Assert.fail("Actual JSON has extra parameters: " + mapDifferences.entriesOnlyOnRight());
Map actualDifferences = new HashMap();
if (mapDifferences.entriesDiffering().size() > 0) {
Map differences = Collections.unmodifiableMap(mapDifferences.entriesDiffering());
for (Object key : differences.keySet()) {
Object expectedValueObject = expected.get(key);
Object actualValueObject = actual.get(key);
if (expectedValueObject instanceof Long || expectedValueObject instanceof Integer) {
Long expectedValue = Long.parseLong(expectedValueObject.toString());
Long actualValue = Long.parseLong(actualValueObject.toString());
if (!expectedValue.equals(actualValue)) {
actualDifferences.put(key, differences.get(key));
}
} else {
actualDifferences.put(key, differences.get(key));
}
}
}
if (actualDifferences.size() > 0) Assert.fail("Expected and Actual JSON values don't match: " + actualDifferences);
return true;
}
GrokParserTest.java 文件源码
java
阅读 33
收藏 0
点赞 0
评论 0
项目:metron
作者:
评论列表
文章目录