### Question:
SimpleFuture { public T get() throws InterruptedException { if (!resolved) { synchronized (this) { wait(); } } return value; } @SuppressWarnings("WeakerAccess")  SimpleFuture(); @SuppressWarnings("WeakerAccess")  SimpleFuture(T value); void set(T value); T get(); @SuppressWarnings({"unused", "WeakerAccess"}) T getWithTimeout(long millis);  }### Answer:
@Test public void testGet_futureIsReady() throws Exception { SimpleFuture<String> undertest = new SimpleFuture<>(EXPECTED_VALUE); assertEquals(EXPECTED_VALUE, undertest.get()); }