@Ignore("Don't care for any reordering")
@Test(timeout = 10000)
public void flatMapRangeAsyncLoop() {

    for (int i = 0; i < 2000; i++) {
        if (i % 10 == 0) {
            System.out.println("flatMapRangeAsyncLoop > " + i);
        }
        TestSubscriber<Integer> ts = new TestSubscriber<Integer>();
        Flowable.range(0, 1000)
        .flatMap(new Function<Integer, Flowable<Integer>>() {
            @Override
            public Flowable<Integer> apply(Integer t) {
                return Flowable.just(t);
            }
        })
        .observeOn(Schedulers.computation())
        .subscribe(ts);
        ts.awaitTerminalEvent(2500, TimeUnit.MILLISECONDS);
        if (ts.completions() == 0) {
            System.out.println(ts.valueCount());
        }
        ts.assertTerminated();
        ts.assertNoErrors();
        List<Integer> list = ts.values();
        assertEquals(1000, list.size());
        boolean f = false;
        for (int j = 0; j < list.size(); j++) {
            if (list.get(j) != j) {
                System.out.println(j + " " + list.get(j));
                f = true;
            }
        }
        if (f) {
            Assert.fail("Results are out of order!");
        }
    }
}