### Question:
SettableClientFuture extends DelegatingClientFuture<V> { public void setValue(V value) { setResult(Results.fromValue(value)); } SettableClientFuture(); protected  SettableClientFuture(Executor executor); private  SettableClientFuture(SettableFuture<Result<V>> delegate); private  SettableClientFuture(SettableFuture<Result<V>> delegate, Executor executor); void setValue(V value); void setError(Throwable error); void setResult(Result<V> result);  }### Answer:
@Test public void testValueSet() throws Exception { SettableClientFuture<Boolean> future = new SettableClientFuture<>(); future.setValue(true);; assertFalse(future.isCancelled()); assertTrue(future.isDone()); assertFalse(future.isError()); assertTrue(future.get(0, TimeUnit.MILLISECONDS)); assertEquals(Results.fromValue(true), future.getResult()); }