@Override public MaybeSource<Integer> apply(Integer v) throws Exception { if (v == 1) { return ms; } return Maybe.empty(); } }).test();
@Override public MaybeSource<Integer> apply(Integer v) throws Exception { if (v % 2 == 0) { return Maybe.just(v); } return Maybe.empty(); } })
@Override public Publisher<Long> createPublisher(long elements) { return Flowable.rangeLong(1, elements) .mergeWith(Maybe.<Long>empty()) ; } }
@SuppressWarnings("unchecked") @Test public void ambArrayEmpty() { assertSame(Maybe.empty(), Maybe.ambArray()); }
@Test public void doOnEventCompleteThrows() { Maybe.<Integer>empty() .doOnEvent(new BiConsumer<Integer, Throwable>() { @Override public void accept(Integer v, Throwable e) throws Exception { throw new TestException(); } }) .test() .assertFailure(TestException.class); }
@Test public void onErrorReturnEmpty() { Maybe.<Integer>empty() .onErrorReturnItem(2) .test() .assertResult(); }
@SuppressWarnings("unchecked") @Test public void mergeIterableDelayError() { Maybe.mergeDelayError(Arrays.asList(Maybe.empty(), Maybe.just(1), Maybe.error(new TestException()))) .test() .assertFailure(TestException.class, 1); Maybe.mergeDelayError(Arrays.asList(Maybe.error(new TestException()), Maybe.empty(), Maybe.just(1))) .test() .assertFailure(TestException.class, 1); }
@Test public void onErrorResumeNextError() { Maybe.error(new RuntimeException("some error")) .onErrorResumeNext(Maybe.empty()) .test() .assertNoValues() .assertNoErrors() .assertComplete(); }
@Test public void emptyOther() { Flowable.range(1, 5) .mergeWith(Maybe.<Integer>empty()) .test() .assertResult(1, 2, 3, 4, 5); }
@Test public void andThenMaybeError() { Completable.error(new RuntimeException("bla")) .andThen(Maybe.empty()) .test() .assertNotComplete() .assertNoValues() .assertError(RuntimeException.class) .assertErrorMessage("bla"); } }
@Test public void offlineComplete() { Maybe<Integer> source = Maybe.<Integer>empty().cache(); assertNull(source.blockingGet()); source.test() .assertResult(); }
@Test public void concat3Mixed2() { Maybe.concat(Maybe.just(1), Maybe.just(2), Maybe.empty()) .test() .assertResult(1, 2); }
@Test public void normalEmptyConditional() { Maybe.empty() .doFinally(this) .filter(Functions.alwaysTrue()) .test() .assertResult(); assertEquals(1, calls); }
@Test public void mergePublisherDelayError() { Maybe.mergeDelayError(Flowable.just(Maybe.empty(), Maybe.just(1), Maybe.error(new TestException()))) .test() .assertFailure(TestException.class, 1); Maybe.mergeDelayError(Flowable.just(Maybe.error(new TestException()), Maybe.empty(), Maybe.just(1))) .test() .assertFailure(TestException.class, 1); }
@Test public void onCompleteNull() { Maybe.<Integer>empty() .flatMap(Functions.justFunction(Maybe.just(1)), Functions.justFunction(Maybe.just(1)), Functions.justCallable((Maybe<Integer>)null)) .test() .assertFailure(NullPointerException.class); }
@SuppressWarnings("unchecked") @Test public void concatArrayDelayError() { Maybe.concatArrayDelayError(Maybe.empty(), Maybe.just(1), Maybe.error(new TestException())) .test() .assertFailure(TestException.class, 1); Maybe.concatArrayDelayError(Maybe.error(new TestException()), Maybe.empty(), Maybe.just(1)) .test() .assertFailure(TestException.class, 1); assertSame(Flowable.empty(), Maybe.concatArrayDelayError()); assertFalse(Maybe.concatArrayDelayError(Maybe.never()) instanceof MaybeConcatArrayDelayError); }
@SuppressWarnings("unchecked") @Test public void mergeArrayBackpressuredMixed3() { TestSubscriber<Integer> ts = Maybe.mergeArray(Maybe.<Integer>empty(), Maybe.just(2), Maybe.just(3)) .test(0L); ts.assertEmpty(); ts.request(1); ts.assertValue(2); ts.request(1); ts.assertResult(2, 3); }
@SuppressWarnings("unchecked") @Test public void fusedPollMixed() { TestSubscriber<Integer> ts = SubscriberFusion.newTest(QueueFuseable.ANY); Maybe.mergeArray(Maybe.just(1), Maybe.<Integer>empty(), Maybe.just(2)) .subscribe(ts); ts .assertOf(SubscriberFusion.<Integer>assertFuseable()) .assertOf(SubscriberFusion.<Integer>assertFusionMode(QueueFuseable.ASYNC)) .assertResult(1, 2); }
@Test public void emptyWithOnNext() { PublishProcessor<Object> pp = PublishProcessor.create(); TestObserver<Integer> to = Maybe.<Integer>empty() .delay(pp).test(); to.assertEmpty(); assertTrue(pp.hasSubscribers()); pp.onNext(1); assertFalse(pp.hasSubscribers()); to.assertResult(); }