@Test public void testMultipleDictionaryChunks() throws Exception {

  // delete store path
  deleteStorePath();
  String columnIdentifier = columnIdentifiers[0];
  // prepare dictionary writer and write data
  prepareWriterAndWriteData(dataSet1, columnIdentifier);
  // create dictionary column unique identifier instance
  DictionaryColumnUniqueIdentifier dictionaryColumnUniqueIdentifier =
      createDictionaryColumnUniqueIdentifier(columnIdentifier);
  // get the reverse dictionary object
  Dictionary reverseDictionary =
      (Dictionary) reverseDictionaryCache.get(dictionaryColumnUniqueIdentifier);
  // reverse dictionary object should not be null
  assertTrue(null != reverseDictionary);
  // prepare dictionary writer and write data
  prepareWriterAndWriteData(dataSet2, columnIdentifier);
  // get the reverse dictionary object
  reverseDictionary = (Dictionary) reverseDictionaryCache.get(dictionaryColumnUniqueIdentifier);
  // reverse dictionary object should not be null
  assertTrue(null != reverseDictionary);
  // prepare expected result
  List<String> expected = new ArrayList<>(2);
  expected.addAll(dataSet1);
  expected.addAll(dataSet2);
  // compare the data
  compareSurrogateKeyData(expected, reverseDictionary);
  // decrement access count
  reverseDictionary.clear();
  // remove keys from lru cache
  removeKeyFromLRUCache(reverseDictionaryCache);
}