@Test
public void testFromWithDelayHundreds() {

    final int NUM_CHUNKS_TO_TEST = 300;
    final List<Observable<Integer>> chunks = new ArrayList<>(NUM_CHUNKS_TO_TEST);
    for (int i = 0; i < NUM_CHUNKS_TO_TEST; ++i) {
        chunks.add(Observable.just(i).delay(1000, TimeUnit.MILLISECONDS, testScheduler));
    }
    Observable<Integer> observable = ObservableExt.fromWithDelay(chunks, DELAY_MS, TimeUnit.MILLISECONDS, testScheduler);
    observable = observable.defaultIfEmpty(-1);
    observable.subscribe(testSubscriber);
    assertThat(testSubscriber.takeNext()).isNull();
    for (int i = 0; i < NUM_CHUNKS_TO_TEST; ++i) {
        if (i > 0) testScheduler.advanceTimeBy(DELAY_MS, TimeUnit.MILLISECONDS);
        testScheduler.advanceTimeBy(1000, TimeUnit.MILLISECONDS);
        assertThat(testSubscriber.takeNext()).isEqualTo(i);
        assertThat(testSubscriber.takeNext()).isNull();
    }
}