@Test public void getAll() throws Exception {

  // delete store path
  deleteStorePath();
  String columnIdentifier = columnIdentifiers[0];
  // prepare dictionary writer and write data
  prepareWriterAndWriteData(dataSet1, columnIdentifier);
  List<DictionaryColumnUniqueIdentifier> dictionaryColumnUniqueIdentifiers = new ArrayList<>(3);
  // create dictionary column unique identifier instance
  DictionaryColumnUniqueIdentifier dictionaryColumnUniqueIdentifier =
      createDictionaryColumnUniqueIdentifier(columnIdentifier);
  dictionaryColumnUniqueIdentifiers.add(dictionaryColumnUniqueIdentifier);
  // prepare dictionary writer and write data
  columnIdentifier = columnIdentifiers[1];
  prepareWriterAndWriteData(dataSet1, columnIdentifier);
  // create dictionary column unique identifier instance
  dictionaryColumnUniqueIdentifier = createDictionaryColumnUniqueIdentifier(columnIdentifier);
  dictionaryColumnUniqueIdentifiers.add(dictionaryColumnUniqueIdentifier);
  // get the reverse dictionary object
  List<Dictionary> reverseDictionaryList =
      (List<Dictionary>) reverseDictionaryCache.getAll(dictionaryColumnUniqueIdentifiers);
  for (Dictionary reverseDictionary : reverseDictionaryList) {
    // reverse dictionary object should not be null
    assertTrue(null != reverseDictionary);
    // compare that surrogate key for data inserted and actual data should be same
    compareSurrogateKeyData(dataSet1, reverseDictionary);
    // decrement its access count
    reverseDictionary.clear();
  }
  // remove keys from lru cache
  removeKeyFromLRUCache(reverseDictionaryCache);
}