@Test public void testInitialValueEmittedNoProducer() { PublishSubject<Integer> source = PublishSubject.create(); TestSubscriber<Integer> ts = new TestSubscriber<>(); source .scan( 0, new BiFunction<Integer, Integer, Integer>() { @Override public Integer apply(Integer t1, Integer t2) { return t1 + t2; } }) .subscribe(ts); ts.assertNoErrors(); ts.assertNotComplete(); ts.assertValue(0); }