@Test
void should_be_locked_when_callable_key_is_same() throws Exception {

    doAnswer(new AnswersWithDelay(100, new Returns(1)))
        .doReturn(1).when(source).get("1");
    final StopWatch stopWatch = new StopWatch();
    Executors.newFixedThreadPool(1).submit(() -> cache.get(1, callable));
    stopWatch.start();
    assertThat(cache.get(1, callable)).isEqualTo(1);
    stopWatch.stop();
    assertThat(stopWatch.getTotalTimeMillis()).isGreaterThanOrEqualTo(100);
}