@Override public void run() { normal.completable.subscribe(new Action() { @Override public void run() { throw new TestException(); } }); } });
@Override public void run() { c.subscribe(ts1); } };
@Override public void run() { c.subscribe(to); } };
@Override public void run() { error.completable.subscribe(new Action() { @Override public void run() { } }); } });
@Test(expected = NullPointerException.class) public void subscribeTwoCallbacksFirstNull() { normal.completable.subscribe(new Action() { @Override public void run() { } }, null); }
@Test(timeout = 5000) public void subscribeTwoCallbacksOnErrorThrows() { error.completable.subscribe(new Action() { @Override public void run() { } }, new Consumer<Throwable>() { @Override public void accept(Throwable e) { throw new TestException(); } }); }
@Test(timeout = 5000) public void subscribeActionNormal() { final AtomicBoolean run = new AtomicBoolean(); normal.completable.subscribe(new Action() { @Override public void run() { run.set(true); } }); Assert.assertTrue("Not completed", run.get()); }
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) { Exceptions.propagate(e); } }
@Test(timeout = 5000) public void subscribeActionError() { final AtomicBoolean run = new AtomicBoolean(); error.completable.subscribe(new Action() { @Override public void run() { run.set(true); } }); Assert.assertFalse("Completed", run.get()); }
@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 completableSubscribe0() { Completable.error(new TestException()) .subscribe(); }
@Test public void testErrorObservable() { TestObserver<String> subscriber = TestObserver.create(); IllegalArgumentException error = new IllegalArgumentException("Error"); Completable cmp = ignoreElements(Flowable.<String>error(error)); cmp.subscribe(subscriber); subscriber.assertError(error); subscriber.assertNoValues(); }
@Test public void testNeverObservable() { TestObserver<String> subscriber = TestObserver.create(); Completable cmp = ignoreElements(Flowable.<String>never()); cmp.subscribe(subscriber); subscriber.assertNotTerminated(); subscriber.assertNoValues(); }
@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 testEmptyObservable() { TestObserver<String> subscriber = TestObserver.create(); Completable cmp = ignoreElements(Flowable.<String>empty()); cmp.subscribe(subscriber); subscriber.assertNoErrors(); subscriber.assertNoValues(); subscriber.assertComplete(); }
@Test public void testCompletedOk() { TestObserver<Object> ts = new TestObserver<Object>(); Observable.range(1, 10).ignoreElements().subscribe(ts); ts.assertNoErrors(); ts.assertNoValues(); ts.assertTerminated(); // FIXME no longer testable // ts.assertUnsubscribed(); }
@Test public void subscribeReportsUnsubscribedOnError() { PublishSubject<String> stringSubject = PublishSubject.create(); Completable completable = stringSubject.ignoreElements(); Disposable completableSubscription = completable.subscribe(); stringSubject.onError(new TestException()); assertTrue("Not unsubscribed?", completableSubscription.isDisposed()); }
@Test public void subscribeActionReportsUnsubscribedOnError() { PublishSubject<String> stringSubject = PublishSubject.create(); Completable completable = stringSubject.ignoreElements(); Disposable completableSubscription = completable.subscribe(new Action() { @Override public void run() { } }); stringSubject.onError(new TestException()); assertTrue("Not unsubscribed?", completableSubscription.isDisposed()); }
@Test public void testCompletedOk() { TestObserver<Object> ts = new TestObserver<Object>(); ignoreElements(Flowable.range(1, 10)).subscribe(ts); ts.assertNoErrors(); ts.assertNoValues(); ts.assertTerminated(); // FIXME no longer testable // ts.assertUnsubscribed(); }
@Test public void testErrorReceived() { TestObserver<Object> ts = new TestObserver<Object>(); TestException ex = new TestException("boo"); ignoreElements(Flowable.error(ex)).subscribe(ts); ts.assertNoValues(); ts.assertTerminated(); // FIXME no longer testable // ts.assertUnsubscribed(); ts.assertError(TestException.class); ts.assertErrorMessage("boo"); }