@Test public void getIfPresent() 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);
  reverseDictionary =
      (Dictionary) reverseDictionaryCache.getIfPresent(dictionaryColumnUniqueIdentifier);
  // compare that surrogate key for data inserted and actual data should be same
  compareSurrogateKeyData(dataSet1, reverseDictionary);
  // remove the identifier from lru cache
  reverseDictionaryCache.invalidate(dictionaryColumnUniqueIdentifier);
  // use getIfPresent API to get the reverse dictionary cache again
  reverseDictionary =
      (Dictionary) reverseDictionaryCache.getIfPresent(dictionaryColumnUniqueIdentifier);
  // as key has been removed from lru cache object should not be found
  assertTrue(null == reverseDictionary);
}