@Override public void subscribe(Observer<Object> observer) { observer.onSubscribe(Disposables.empty()); push(observer, new Object(), 50); push(observer, new Object(), 200); complete(observer, 250); } });
@Override public void subscribe(Observer<? super Integer> t) { t.onSubscribe(Disposables.empty()); calls.getAndIncrement(); } });
@Override public void subscribe(Observer<? super String> s) { s.onSubscribe(Disposables.empty()); subsCount.incrementAndGet(); s.onError(new RuntimeException("failed")); } };
@Override public void subscribe(SingleObserver<? super String> s) { s.onSubscribe(Disposables.empty()); try { Thread.sleep(5000); } catch (InterruptedException e) { // ignore as we expect this for the test } s.onSuccess("success"); } }).subscribeOn(Schedulers.io());
@Override protected void subscribeActual(Observer<? super Integer> observer) { o[0] = observer; observer.onSubscribe(Disposables.empty()); observer.onError(new TestException("First")); } }),
@Override public void subscribe(Observer<? super String> observer) { observer.onSubscribe(Disposables.empty()); observer.onNext("hello"); observer.onComplete(); } }
@Override public void subscribe(Observer<? super Integer> t) { t.onSubscribe(Disposables.empty()); for (int i = 0; i < m; i++) { t.onNext(i); } t.onComplete(); } });
@Override public void subscribe(Observer<? super Integer> t1) { t1.onSubscribe(Disposables.empty()); t1.onNext(0); t1.onNext(1); t1.onError(new TestException()); } });
@Override protected void subscribeActual(Observer<? super Integer> observer) { observer.onSubscribe(Disposables.empty()); observer.onComplete(); observer.onNext(1); observer.onError(new TestException()); observer.onComplete(); } }
@Override protected void subscribeActual(Observer<? super Integer> observer) { observer.onSubscribe(Disposables.empty()); observer.onNext(1); observer.onNext(2); observer.onError(new TestException()); observer.onComplete(); } }
@Override protected void subscribeActual(Observer<? super Integer> observer) { observer.onSubscribe(Disposables.empty()); observer.onNext(1); observer.onComplete(); observer.onNext(2); observer.onError(new TestException()); observer.onComplete(); } }
@Test public void onNextMisbehave() { TestObserver<Integer> ts = TestObserver.create(); ts.onNext(1); ts.assertError(IllegalStateException.class); ts = TestObserver.create(); ts.onSubscribe(Disposables.empty()); ts.onNext(null); ts.assertFailure(NullPointerException.class, (Integer)null); }
@Test public void dispose() { TestSingle<Integer> tc = new TestSingle<Integer>(); tc.dispose(); assertTrue(tc.isDisposed()); Disposable d = Disposables.empty(); tc.onSubscribe(d); assertTrue(d.isDisposed()); assertEquals(0, tc.start); } }
@Test public void nonfusedTerminateMore() { TestObserver<Integer> to = ObserverFusion.newTest(QueueDisposable.NONE); TakeLast source = new TakeLast(to); Disposable d = Disposables.empty(); source.onSubscribe(d); source.onNext(1); source.onComplete(); source.onComplete(); source.onError(new TestException()); to.assertResult(1); }
@Test public void onSuccessCleansUp() { TestResourceSingleObserver<Integer> rso = new TestResourceSingleObserver<Integer>(); assertFalse(rso.isDisposed()); Disposable d = Disposables.empty(); rso.add(d); assertFalse(d.isDisposed()); rso.onSuccess(1); assertTrue(rso.isDisposed()); assertTrue(d.isDisposed()); }
@Test public void onCompleteCleansUp() { TestResourceMaybeObserver<Integer> rmo = new TestResourceMaybeObserver<Integer>(); assertFalse(rmo.isDisposed()); Disposable d = Disposables.empty(); rmo.add(d); assertFalse(d.isDisposed()); rmo.onComplete(); assertTrue(rmo.isDisposed()); assertTrue(d.isDisposed()); }
@Test public void onCompleteCleansUp() { TestResourceSubscriber<Integer> ro = new TestResourceSubscriber<Integer>(); assertFalse(ro.isDisposed()); Disposable d = Disposables.empty(); ro.add(d); assertFalse(d.isDisposed()); ro.onComplete(); assertTrue(ro.isDisposed()); assertTrue(d.isDisposed()); }
@Test public void onErrorCleansUp() { TestResourceSubscriber<Integer> ro = new TestResourceSubscriber<Integer>(); assertFalse(ro.isDisposed()); Disposable d = Disposables.empty(); ro.add(d); assertFalse(d.isDisposed()); ro.onError(new TestException()); assertTrue(ro.isDisposed()); assertTrue(d.isDisposed()); }