void replicateStringArray()

in java/clickhouse-connector/src/integration-test/java/com/epam/deltix/timebase/connector/clickhouse/ArrayDataTypeTests.java [43:74]


    void replicateStringArray() {
        ArrayStrTestMessage message = new ArrayStrTestMessage();
        String[] arrayValue_expectedValue = {"ADC", "zxc\nzxc\"xc\"", "  ", ""};
        message.setArrayValue(new ObjectArrayList<>(arrayValue_expectedValue));
        String[] arrayNullableValue_expectedValue = {"ADC", null, null, ""};
        message.setArrayNullableValue(new ObjectArrayList<>(arrayNullableValue_expectedValue));
        String[] nullableArrayValue_expectedValue = {};
        message.setNullableArrayValue(null);
        String[] nullableArrayNullableValue_expectedValue = {"ADC", "zxc\nzxc\"xc\"", null};
        message.setNullableArrayNullableValue(new ObjectArrayList<>(nullableArrayNullableValue_expectedValue));
        initSystemRequiredFields(message);

        Pair<DXTickStream, TableDeclaration> chSchemaByStream = loadAndReplicateData(message);
        String arrayValue_columnName = getDbColumnName(chSchemaByStream.getLeft(), ArrayStrTestMessage.class, ArrayStrTestMessage::getArrayValue);
        String arrayNullableValue_columnName = getDbColumnName(chSchemaByStream.getLeft(), ArrayStrTestMessage.class, ArrayStrTestMessage::getArrayNullableValue);
        String nullableArrayValue_columnName = getDbColumnName(chSchemaByStream.getLeft(), ArrayStrTestMessage.class, ArrayStrTestMessage::getNullableArrayValue);
        String nullableArrayNullableValue_columnName = getDbColumnName(chSchemaByStream.getLeft(), ArrayStrTestMessage.class, ArrayStrTestMessage::getNullableArrayNullableValue);
        TableDeclaration tableDeclaration = chSchemaByStream.getRight();
        System.out.println(tableDeclaration.getTableIdentity().getDatabaseName());
        System.out.println(tableDeclaration.getTableIdentity().getTableName());
        Map<String, Object> values = selectAllValues(tableDeclaration).get(0);
        String[] arrayValue_actualValue = getArrayValue(values, arrayValue_columnName, String[].class);
        String[] arrayNullableValue_actualValue = getArrayValue(values, arrayNullableValue_columnName, String[].class);
        String[] nullableArrayValue_actualValue = getArrayValue(values, nullableArrayValue_columnName, String[].class);
        String[] nullableArrayNullableValue_actualValue = getArrayValue(values, nullableArrayNullableValue_columnName, String[].class);

        assertArrayEquals(arrayValue_expectedValue, arrayValue_actualValue);
        assertArrayEquals(arrayNullableValue_expectedValue, arrayNullableValue_actualValue);
        assertArrayEquals(nullableArrayValue_expectedValue, nullableArrayValue_actualValue);
        assertArrayEquals(nullableArrayNullableValue_expectedValue, nullableArrayNullableValue_actualValue);
        systemRequiredFieldsCheck(message, values);
    }