@Test
public void testSerDe()
throws IOException {
IndexingConfig indexingConfig = new IndexingConfig();
indexingConfig.setLoadMode("MMAP");
indexingConfig.setAggregateMetrics(true);
List<String> invertedIndexColumns = Arrays.asList("a", "b", "c");
indexingConfig.setInvertedIndexColumns(invertedIndexColumns);
List<String> sortedColumn = Arrays.asList("d", "e", "f");
indexingConfig.setSortedColumn(sortedColumn);
List<String> onHeapDictionaryColumns = Arrays.asList("x", "y", "z");
indexingConfig.setOnHeapDictionaryColumns(onHeapDictionaryColumns);
List<String> bloomFilterColumns = Arrays.asList("a", "b");
indexingConfig.setBloomFilterColumns(bloomFilterColumns);
Map<String, String> noDictionaryConfig = new HashMap<>();
noDictionaryConfig.put("a", "SNAPPY");
noDictionaryConfig.put("b", "PASS_THROUGH");
indexingConfig.setnoDictionaryConfig(noDictionaryConfig);
indexingConfig = JsonUtils.stringToObject(JsonUtils.objectToString(indexingConfig), IndexingConfig.class);
assertEquals(indexingConfig.getLoadMode(), "MMAP");
assertTrue(indexingConfig.isAggregateMetrics());
assertEquals(indexingConfig.getInvertedIndexColumns(), invertedIndexColumns);
assertEquals(indexingConfig.getSortedColumn(), sortedColumn);
assertEquals(indexingConfig.getOnHeapDictionaryColumns(), onHeapDictionaryColumns);
assertEquals(indexingConfig.getBloomFilterColumns(), bloomFilterColumns);
assertEquals(indexingConfig.getNoDictionaryConfig(), noDictionaryConfig);
}