@Test
public void manyParallelDelay() {

    long start = System.currentTimeMillis();
    CompletableFuture<?>[] futures = new CompletableFuture<?>[1000];
    for (int i = 0; i < futures.length; i++) {
        futures[i] = MoreAsyncUtil.delayedFuture(i * 100, TimeUnit.MICROSECONDS);
    }
    CompletableFuture.allOf(futures).join();
    long end = System.currentTimeMillis();
    assertTrue(end - start >= 100, "Delay was not long enough");
}