@Override public void run() { c.subscribe(to2); } };
@Override public void run() { c.subscribe(to); } };
@Override public void run() { c.subscribe(to1); } };
@Override public void run() { normal.completable.subscribe(new Action() { @Override public void run() { throw new TestException(); } }); } });
@Override public void run() { error.completable.subscribe(new Action() { @Override public void run() { } }); } });
@Override public void run() { c.subscribe(to); } };
@Override protected void subscribeActual(SingleObserver<? super Notification<T>> observer) { source.subscribe(new MaterializeSingleObserver<T>(observer)); } }
@Test(expected = NullPointerException.class) public void subscribeTwoCallbacksFirstNull() { normal.completable.subscribe(new Action() { @Override public void run() { } }, null); }
public SchedulerWhen(Function<Flowable<Flowable<Completable>>, Completable> combine, Scheduler actualScheduler) { this.actualScheduler = actualScheduler; // workers are converted into completables and put in this queue. this.workerProcessor = UnicastProcessor.<Flowable<Completable>>create().toSerialized(); // send it to a custom combinator to pick the order and rate at which // workers are processed. try { disposable = combine.apply(workerProcessor).subscribe(); } catch (Throwable e) { throw ExceptionHelper.wrapOrThrow(e); } }
@Test public void testIgnoreElements() { Completable o = Observable.just(1, 2, 3).ignoreElements(); CompletableObserver observer = TestHelper.mockCompletableObserver(); o.subscribe(observer); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testIgnoreElements() { Completable completable = Flowable.just(1, 2, 3).ignoreElements(); CompletableObserver observer = TestHelper.mockCompletableObserver(); completable.subscribe(observer); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void completableSubscribe0() { Completable.error(new TestException()) .subscribe(); }
@Test public void subscribeReportsUnsubscribed() { PublishSubject<String> stringSubject = PublishSubject.create(); Completable completable = stringSubject.ignoreElements(); Disposable completableSubscription = completable.subscribe(); stringSubject.onComplete(); assertTrue("Not unsubscribed?", completableSubscription.isDisposed()); }
@Test public void subscribeActionReportsUnsubscribed() { PublishSubject<String> stringSubject = PublishSubject.create(); Completable completable = stringSubject.ignoreElements(); Disposable completableSubscription = completable.subscribe(new Action() { @Override public void run() { } }); stringSubject.onComplete(); assertTrue("Not unsubscribed?", completableSubscription.isDisposed()); }
@Test public void normal() { TestResourceCompletableObserver rco = new TestResourceCompletableObserver(); assertFalse(rco.isDisposed()); assertEquals(0, rco.start); assertTrue(rco.errors.isEmpty()); Completable.complete().subscribe(rco); assertTrue(rco.isDisposed()); assertEquals(1, rco.start); assertEquals(1, rco.complete); assertTrue(rco.errors.isEmpty()); }
@Test public void testCompletedOk() { TestObserver<Object> to = new TestObserver<Object>(); Observable.range(1, 10).ignoreElements().subscribe(to); to.assertNoErrors(); to.assertNoValues(); to.assertTerminated(); // FIXME no longer testable // ts.assertUnsubscribed(); }
@Test public void testCompletedOk() { TestObserver<Object> to = new TestObserver<Object>(); Flowable.range(1, 10).ignoreElements().subscribe(to); to.assertNoErrors(); to.assertNoValues(); to.assertTerminated(); }
@Test(timeout = 5000) public void subscribeTwoCallbacksDispose() { PublishProcessor<Integer> pp = PublishProcessor.create(); Disposable d = pp.ignoreElements().subscribe(Functions.EMPTY_ACTION, Functions.emptyConsumer()); assertFalse(d.isDisposed()); assertTrue(pp.hasSubscribers()); d.dispose(); assertTrue(d.isDisposed()); assertFalse(pp.hasSubscribers()); }
@Test public void testErrorReceived() { TestObserver<Object> to = new TestObserver<Object>(); TestException ex = new TestException("boo"); Observable.error(ex).ignoreElements().subscribe(to); to.assertNoValues(); to.assertTerminated(); // FIXME no longer testable // ts.assertUnsubscribed(); to.assertError(TestException.class); to.assertErrorMessage("boo"); }
@Test public void testErrorReceived() { TestObserver<Object> to = new TestObserver<Object>(); TestException ex = new TestException("boo"); Flowable.error(ex).ignoreElements().subscribe(to); to.assertNoValues(); to.assertTerminated(); to.assertError(TestException.class); to.assertErrorMessage("boo"); }