@Override public MaybeSource<Integer> apply(PublishSubject<Integer> v) throws Exception { return v.singleElement(); } })
@Override public MaybeSource<Integer> apply(PublishSubject<Integer> v) throws Exception { return v.singleElement(); } })
@Override public MaybeSource<Integer> apply(Integer v) throws Exception { if (v == 2) { return ps.singleElement(); } return Maybe.error(new TestException()); } }, true)
@Override public MaybeSource<Integer> apply(Integer v) throws Exception { if (v == 2) { return ps.singleElement(); } return Maybe.error(new TestException()); } }, true)
@Test public void dispose() { TestHelper.checkDisposed(PublishSubject.<Integer>create().singleElement().doAfterSuccess(afterSuccess)); }
@Test public void disposed() { TestHelper.checkDisposed(PublishSubject.create().singleElement().doFinally(this)); } }
@Test public void dispose() { TestHelper.checkDisposed(PublishSubject.<Integer>create().singleElement().doOnEvent(new BiConsumer<Integer, Throwable>() { @Override public void accept(Integer v, Throwable e) throws Exception { // irrelevant } })); }
@Test public void fromObservableDisposeComposesThroughImmediatelyCancelled() { PublishSubject<Integer> ps = PublishSubject.create(); ps.singleElement().test(true); assertFalse(ps.hasObservers()); }
@Test public void requestBefore() { for (int i = 0; i < 500; i++) { final PublishSubject<Integer> ps = PublishSubject.create(); ps.singleElement().flattenAsFlowable( new Function<Integer, Iterable<Integer>>() { @Override public Iterable<Integer> apply(Integer v) throws Exception { return Arrays.asList(1, 2, 3); } }) .test(5L) .assertEmpty(); } }
@Test public void requestBefore() { for (int i = 0; i < 500; i++) { final PublishSubject<Integer> ps = PublishSubject.create(); ps.singleElement().flattenAsFlowable( new Function<Integer, Iterable<Integer>>() { @Override public Iterable<Integer> apply(Integer v) throws Exception { return Arrays.asList(1, 2, 3); } }) .test(5L) .assertEmpty(); } }
@Test public void innerSuccessCompletesAfterMain() { PublishSubject<Integer> ps = PublishSubject.create(); TestObserver<Integer> to = Observable.just(1).flatMapMaybe(Functions.justFunction(ps.singleElement())) .test(); ps.onNext(2); ps.onComplete(); to .assertResult(2); }
final TestSubscriber<Integer> ts = ps.singleElement().flattenAsFlowable( new Function<Integer, Iterable<Integer>>() { @Override
final TestSubscriber<Integer> ts = ps.singleElement().flattenAsFlowable( new Function<Integer, Iterable<Integer>>() { @Override
final PublishSubject<Integer> ps2 = PublishSubject.create(); TestSubscriber<Integer> ts = Maybe.mergeArray(ps1.singleElement(), ps2.singleElement()) .test();
@Test public void fromObservableDisposeComposesThrough() { PublishSubject<Integer> ps = PublishSubject.create(); TestObserver<Integer> to = ps.singleElement().test(false); assertTrue(ps.hasObservers()); to.cancel(); assertFalse(ps.hasObservers()); }
@Test public void cancelCreateInnerRace() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { final PublishSubject<Integer> ps = PublishSubject.create(); ps.onNext(1); final TestSubscriber<Integer> ts = ps.singleElement().flattenAsFlowable( new Function<Integer, Iterable<Integer>>() { @Override public Iterable<Integer> apply(Integer v) throws Exception { return Arrays.asList(1, 2, 3); } }) .test(0L); Runnable r1 = new Runnable() { @Override public void run() { ps.onComplete(); } }; Runnable r2 = new Runnable() { @Override public void run() { ts.cancel(); } }; TestHelper.race(r1, r2); } }
@Test public void cancelCreateInnerRace() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { final PublishSubject<Integer> ps = PublishSubject.create(); ps.onNext(1); final TestSubscriber<Integer> ts = ps.singleElement().flattenAsFlowable( new Function<Integer, Iterable<Integer>>() { @Override public Iterable<Integer> apply(Integer v) throws Exception { return Arrays.asList(1, 2, 3); } }) .test(0L); Runnable r1 = new Runnable() { @Override public void run() { ps.onComplete(); } }; Runnable r2 = new Runnable() { @Override public void run() { ts.cancel(); } }; TestHelper.race(r1, r2); } }
@Test public void m2s1Cancel() { io.reactivex.subjects.PublishSubject<Integer> ps = io.reactivex.subjects.PublishSubject.create(); rx.observers.TestSubscriber<Integer> ts = test1(toV1Single(ps.singleElement())); assertTrue("2.x PublishSubject has no observers!", ps.hasObservers()); ts.unsubscribe(); assertFalse("2.x PublishSubject has observers!", ps.hasObservers()); }
@Test public void m2c1Cancel() { io.reactivex.subjects.PublishSubject<Integer> ps = io.reactivex.subjects.PublishSubject.create(); rx.observers.TestSubscriber<Integer> ts = test1(toV1Completable(ps.singleElement())); assertTrue("2.x PublishSubject has no observers!", ps.hasObservers()); ts.unsubscribe(); assertFalse("2.x PublishSubject has observers!", ps.hasObservers()); }