@Override public void run() { for (int j = 0; j < 1000; j++) { ps.onNext(j); } } };
@Override public void run() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { signaller.onNext(1); } } };
@Override public void run() { ps.onNext(2); } };
@Override public void run() { ps.onNext(5); } };
@Override public void run() { ps.onNext(1); } };
@Override public void run() { ps1.onNext(2); } };
@Override public void run() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { source.onNext(1); } } };
@Override public void run() { ps.onNext(2); } };
@Override public void run() { ps.onNext(1); } };
@Override public void run() { ps.onNext(1); ps.onComplete(); } };
@Override public void run() { ps.onNext(1); ps.onComplete(); } };
@Override public void run() { ps.onNext(1); ps.onComplete(); } };
@Override public void run() { just2.onNext(1); to.cancel(); } };
@Override public void onNext(Integer t) { super.onNext(t); if (t == 1) { ps.onNext(2); } } });
@Test public void testSecondFails() { s1.onNext("a"); s1.onNext("b"); s2.onError(new RuntimeException("Forced failure")); inOrder.verify(observer, times(1)).onError(any(RuntimeException.class)); s2.onNext("1"); s2.onNext("2"); inOrder.verify(observer, never()).onComplete(); inOrder.verify(observer, never()).onNext(any(String.class)); inOrder.verifyNoMoreInteractions(); }
@Override public void onNext(Integer t) { if (t == 1) { ps.onNext(2); cancel(); } super.onNext(t); } };
@Test public void shouldTimeoutIfSecondOnNextNotWithinTimeout() { TestObserver<String> observer = new TestObserver<String>(); withTimeout.subscribe(observer); testScheduler.advanceTimeBy(2, TimeUnit.SECONDS); underlyingSubject.onNext("One"); observer.assertValue("One"); testScheduler.advanceTimeBy(TIMEOUT + 1, TimeUnit.SECONDS); observer.assertFailureAndMessage(TimeoutException.class, timeoutMessage(TIMEOUT, TIME_UNIT), "One"); }
@Test public void innerSuccessCompletesAfterMain() { PublishSubject<Integer> ps = PublishSubject.create(); TestObserver<Integer> to = Observable.just(1).flatMapSingle(Functions.justFunction(ps.singleOrError())) .test(); ps.onNext(2); ps.onComplete(); to .assertResult(2); }
@Test public void delayed() { PublishSubject<Integer> ps = PublishSubject.create(); Single<Integer> cache = ps.single(-99).cache(); TestObserver<Integer> to1 = cache.test(); TestObserver<Integer> to2 = cache.test(); ps.onNext(1); ps.onComplete(); to1.assertResult(1); to2.assertResult(1); }
@Test public void selectorTake() { PublishSubject<Integer> ps = PublishSubject.create(); TestObserver<Integer> to = ps .timeout(Functions.justFunction(Observable.never())) .take(1) .test(); assertTrue(ps.hasObservers()); ps.onNext(1); assertFalse(ps.hasObservers()); to.assertResult(1); }