@Test
public void test() throws InterruptedException, ExecutionException, TimeoutException {

    FutureCallbackAdapter<String> f = new FutureCallbackAdapter<>();
    assertFalse(f.isDone());
    assertFalse(f.isCancelled());
    f.call("test");
    assertEquals("test", f.get());
    assertEquals("test", f.get(1, TimeUnit.SECONDS));
    assertTrue(f.isDone());
    assertFalse(f.cancel(true));
    assertFalse(f.isCancelled());
}