/**
*
*/
@Test
public void shouldUseSetCacheKeyAndValue() {
// given
final ConcurrentMap<Long, Double> cache = new ConcurrentHashMap<>();
final LongToDoubleFunction function = input -> 123;
final LongFunction<Long> keyFunction = Long::valueOf;
// when
final ConcurrentMapBasedLongToDoubleFunctionMemoizer<Long> memoizer = new ConcurrentMapBasedLongToDoubleFunctionMemoizer<>(
cache, keyFunction, function);
// then
memoizer.applyAsDouble(123);
Assert.assertFalse("Cache is still empty after memoization", memoizer.viewCacheForTest().isEmpty());
Assert.assertEquals("Memoization key does not match expectations", 123,
memoizer.viewCacheForTest().keySet().iterator().next().intValue());
Assert.assertEquals("Memoization value does not match expectations", 123D,
memoizer.viewCacheForTest().values().iterator().next().doubleValue(), 0.0D);
}
ConcurrentMapBasedLongToDoubleFunctionMemoizerTest.java 文件源码
java
阅读 50
收藏 0
点赞 0
评论 0
项目:memoization.java
作者:
评论列表
文章目录