### Question:
TyrusFuture implements Future<T> { @Override public boolean isDone() { return (latch.getCount() == 0); }  @Override boolean cancel(boolean mayInterruptIfRunning); @Override boolean isCancelled(); @Override boolean isDone(); @Override T get(); @Override T get(long timeout, TimeUnit unit); void setResult(T result); void setFailure(Throwable throwable);  }### Answer:
@Test public void testIsDone() { TyrusFuture<Void> voidTyrusFuture = new TyrusFuture<Void>(); assertFalse(voidTyrusFuture.isDone()); voidTyrusFuture.setResult(null); assertTrue(voidTyrusFuture.isDone()); }