@Test public void testUnsubscribeBeforeResolve() { ObservableFuture<String> o = RxHelper.observableFuture(); MySubscriber<String> subscriber = new MySubscriber<>(); Subscription sub = o.subscribe(subscriber); sub.unsubscribe(); assertTrue(sub.isUnsubscribed()); subscriber.assertEmpty(); }
@Test public void testCompleteWithSuccessAfterSubscribe() { ObservableFuture<String> o = RxHelper.observableFuture(); MySubscriber<String> subscriber = new MySubscriber<>(); o.subscribe(subscriber); subscriber.assertEmpty(); o.toHandler().handle(Future.succeededFuture("abc")); subscriber.assertItem("abc").assertCompleted().assertEmpty(); }
@Test public void testCompleteWithFailureAfterSubscribe() { ObservableFuture<String> o = RxHelper.observableFuture(); MySubscriber<String> subscriber = new MySubscriber<>(); o.subscribe(subscriber); subscriber.assertEmpty(); Throwable failure = new Throwable(); o.toHandler().handle(Future.failedFuture(failure)); subscriber.assertError(failure).assertEmpty(); }
@Test public void testRejectAdaptedFunctions1() { MySubscriber<String> subscriber = new MySubscriber<>(); Handler<AsyncResult<String>> o = RxHelper.toFuture(subscriber::onNext); Exception cause = new Exception(); try { o.handle(Future.failedFuture(cause)); } catch (OnErrorNotImplementedException e) { assertSame(cause, e.getCause()); } subscriber.assertEmpty(); }