@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); GoroService.setup(this, Goro.create()); Scheduler scheduler = new RxGoro(goro).scheduler("test-queue"); Observable.just("ok") .subscribeOn(scheduler) .subscribe(new Action1<String>() { @Override public void call(String s) { result = "ok"; resultSync.countDown(); } }); Observable.error(new RuntimeException("test error")) .subscribeOn(scheduler) .subscribe(Actions.empty(), new Action1<Throwable>() { @Override public void call(Throwable throwable) { error = throwable; errorSync.countDown(); } }); }
@Test public void unsubscribe() { TestSubscriber<String> subscriber = new TestSubscriber<>(); Observable.just("ok") .subscribeOn(rxGoro.scheduler()) .subscribe(subscriber) .unsubscribe(); queues.executeAll(); subscriber.assertNoErrors(); subscriber.assertNoValues(); subscriber.assertNotCompleted(); }
@Test public void schedule() { TestSubscriber<String> subscriber = new TestSubscriber<>(); Observable.just("ok") .subscribeOn(rxGoro.scheduler("test")) .subscribe(subscriber); subscriber.assertNoValues(); subscriber.assertNotCompleted(); queues.executeAll(); subscriber.assertNoErrors(); subscriber.assertCompleted(); subscriber.assertValue("ok"); }