    @Test
    public void shouldUseReturnFunctionResult() {

        // given
        final ConcurrentMap<Long, Integer> cache = new ConcurrentHashMap<>();
        final LongToIntFunction function = input -> 123;
        final LongFunction<Long> keyFunction = Long::valueOf;

        // when
        final ConcurrentMapBasedLongToIntFunctionMemoizer<Long> memoizer = new ConcurrentMapBasedLongToIntFunctionMemoizer<>(
                cache, keyFunction, function);

        // then
        Assert.assertEquals(123, memoizer.applyAsInt(123L));
    }