private void comparePackageHeaderValues()

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