public static DwrfTableEncryptionProperties forPerColumn(ColumnEncryptionInformation columnEncryptionInformation, String encryptionAlgorithm, String encryptionProvider)
    {
        return new DwrfTableEncryptionProperties(Optional.empty(), Optional.of(columnEncryptionInformation), encryptionAlgorithm, encryptionProvider);
    }
@Test
    public void testEncryptColumns()
    {
        ColumnEncryptionInformation columnEncryptionInformation = fromMap(ImmutableMap.of("c1", "abcd", "c2", "defg"));
        DwrfTableEncryptionProperties properties = forPerColumn(columnEncryptionInformation, "test_algo", "test_prov");

        assertEquals(properties.toHiveProperties(), ImmutableMap.of(
                ENCRYPT_COLUMNS_KEY, columnEncryptionInformation.toHiveProperty(),
                DWRF_ENCRYPTION_PROVIDER_KEY, "test_prov",
                DWRF_ENCRYPTION_ALGORITHM_KEY, "test_algo"));

        assertEquals(properties.toTableProperties(), ImmutableMap.of(
                ENCRYPT_COLUMNS, columnEncryptionInformation,
                DWRF_ENCRYPTION_PROVIDER, "test_prov",
                DWRF_ENCRYPTION_ALGORITHM, "test_algo"));
    }