private static void assertDCAPEquals()

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