Closed
Description
e.g.
range(1, 10).delay(1, SECONDS).subscribe(System.out::println) will result in two numbers being output each second for five seconds, rather than all ten after one second
sample unit test below. more tests and one way of fixing it (just using merge instead of concat) @ dmgd@29f0b80
@Test
public void testDelayEmitsEverything() {
Observable<Integer> source = Observable.range(1, 5);
Observable<Integer> delayed = source.delay(500L, TimeUnit.MILLISECONDS, scheduler);
TestObserver<Integer> observer = new TestObserver<Integer>();
delayed.subscribe(observer);
scheduler.advanceTimeBy(500L, TimeUnit.MILLISECONDS);
observer.assertReceivedOnNext(asList(1, 2, 3, 4, 5));
}