in testutil/src/main/java/com/google/cloud/verticals/foundations/dataharmonization/utils/AssertUtil.java [41:76]
private static void assertDCAPEquals(String path, Data expected, Data actual) {
if (expected == null || actual == null) {
Assert.assertEquals(
String.format("null mismatch at %s", path), expected == null, actual == null);
return;
}
boolean matchedAtLeastOneDACPInterface = false;
if (expected.isContainer() && actual.isContainer()) {
assertDCAPEquals(path, expected.asContainer(), actual.asContainer());
matchedAtLeastOneDACPInterface = true;
}
if (expected.isArray() && actual.isArray()) {
assertDCAPEquals(path, expected.asArray(), actual.asArray());
matchedAtLeastOneDACPInterface = true;
}
if (expected.isPrimitive() && actual.isPrimitive()) {
assertDCAPEquals(path, expected.asPrimitive(), actual.asPrimitive());
matchedAtLeastOneDACPInterface = true;
}
if (expected.isDataset() && actual.isDataset()) {
if (expected instanceof MockDataset && actual instanceof MockDataset) {
assertDCAPEquals(
path,
((MockDataset) expected).getBackingArray(),
((MockDataset) actual).getBackingArray());
} else {
Assert.assertEquals(String.format("dataset mismatch at %s", path), expected, actual);
}
matchedAtLeastOneDACPInterface = true;
}
if (!matchedAtLeastOneDACPInterface) {
Assert.assertEquals(String.format("mismatch at %s", path), expected, actual);
}
}