in java/clickhouse-connector/src/integration-test/java/com/epam/deltix/timebase/connector/clickhouse/FullStreamTests.java [173:197]
private void comparePackageHeaderValues(Map<String, Object> expected, Map<String, Object> actual, RecordClassDescriptor type) throws ParseException {
String typeName = getSimpleName(type.getName());
for (Map.Entry<String, Object> entry : expected.entrySet()) {
String fieldName = getFieldName(typeName, entry.getKey(), ColumnNamingScheme.TYPE_AND_NAME);
if (entry.getKey().equals("entries")) {
Object[] values = (Object[]) entry.getValue();
for (int i = 0; i < values.length; i++) {
Map<String, Object> value = (Map<String, Object>) values[i];
String innerTypeName = getSimpleName(((RecordClassDescriptor) value.get("objectClassName")).getName());
for (Map.Entry<String, Object> innerEntry : value.entrySet()) {
if (innerEntry.getKey().equals(("objectClassName"))) continue;
String innerFieldName = fieldName + "." + innerTypeName + "_" + innerEntry.getKey();
Object[] nestedArr = (Object[]) actual.get(innerFieldName);
assertEquals(innerEntry.getValue(), convertValue(nestedArr[i]));
}
}
} else {
if (entry.getKey().equals("originalTimestamp") || entry.getKey().equals("receivedTime")) {
assertEquals(entry.getValue(), convertTimestamp(actual.get(fieldName)));
} else {
assertEquals(entry.getValue(), actual.get(fieldName));
}
}
}
}