@Test public void getAll() throws Exception {

  // delete store path
  deleteStorePath();
  String columnIdentifier = columnIdentifiers[0];
  // prepare dictionary writer and write data
  prepareWriterAndWriteData(dataSet1, columnIdentifier);
  // write sort index file
  writeSortIndexFile(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);
  // write sort index file
  writeSortIndexFile(dataSet1, columnIdentifier);
  // create dictionary column unique identifier instance
  dictionaryColumnUniqueIdentifier = createDictionaryColumnUniqueIdentifier(columnIdentifier);
  dictionaryColumnUniqueIdentifiers.add(dictionaryColumnUniqueIdentifier);
  // get the forward dictionary object
  List<Dictionary> forwardDictionaryList =
      (List<Dictionary>) forwardDictionaryCache.getAll(dictionaryColumnUniqueIdentifiers);
  for (Dictionary forwardDictionary : forwardDictionaryList) {
    // forward dictionary object should not be null
    assertTrue(null != forwardDictionary);
    // compare that surrogate key for data inserted and actual data should be same
    compareSurrogateKeyData(dataSet1, forwardDictionary);
    // decrement its access count
    forwardDictionary.clear();
  }
  // remove keys from lru cache
  removeKeyFromLRUCache(forwardDictionaryCache);
}