Fredrik Larsen
@Test fun `validate test`() { val scheduler = TestScheduler() val upstream = Flowable.fromCallable { "foo" } .subscribeOn(scheduler) .observeOn(scheduler) .delay(2, TimeUnit.SECONDS) val implementation = upstream .map { true } .startWith(false) .subscribeOn(scheduler) .observeOn(scheduler) .doOnEach { println(it) } .test() implementation .assertNotTerminated() .assertNoValues() scheduler.advanceTimeBy(1, TimeUnit.SECONDS) implementation .assertNotTerminated() .assertValues(false) scheduler.advanceTimeBy(2, TimeUnit.SECONDS) implementation .assertNotComplete() .assertValues(false, true) /* assertion fails*/ /* * Output: * * OnNextNotification[false] * * java.lang.AssertionError: Value count differs; expected: 2 [false, true] but was: 1 [false] (latch = 1, values = 1, errors = 0, completions = 0) * Expected :2 [false, true] * Actual :1 [false] (latch = 1, values = 1, errors = 0, completions = 0) */ }
kioba
public final Single delay(long time, TimeUnit unit) { return delay(time, unit, Schedulers.computation(), false); }
A modern programming language that makes developers happier.