@Override public void onError(Throwable t) { s = DisposableHelper.DISPOSED; item = null; actual.onError(t); }
@Override public void onError(Throwable e) { actual.onError(e); } }
@Override public void onError(Throwable e) { d = DisposableHelper.DISPOSED; actual.onError(e); }
@Override public void onError(Throwable e) { actual.onError(e); } }
@Override public void onError(Throwable t) { d = DisposableHelper.DISPOSED; actual.onError(t); }
@Override public void onError(Throwable e) { d = DisposableHelper.DISPOSED; actual.onError(e); }
@Override public void onError(Throwable e) { d = DisposableHelper.DISPOSED; actual.onError(e); }
@Override public void onComplete() { actual.onError(new NoSuchElementException()); } }
@Override public void onError(Throwable e) { if (done) { RxJavaCommonPlugins.onError(e); return; } done = true; actual.onError(e); }
@Override public void onError(Throwable e) { if (done) { RxJavaCommonPlugins.onError(e); return; } done = true; actual.onError(e); }
@Override public void onError(Throwable e) { if (done) { RxJavaCommonPlugins.onError(e); return; } actual.onError(e); } }
@Override public void onError(Throwable e) { if (done) { RxJavaCommonPlugins.onError(e); return; } done = true; actual.onError(e); }
@Override public void onComplete() { d = DisposableHelper.DISPOSED; if (defaultValue != null) { actual.onSuccess(defaultValue); } else { actual.onError(new NoSuchElementException("The MaybeSource is empty")); } } }
@Test public void testToMultimapWithValueSelector() { Observable<String> source = Observable.just("a", "b", "cc", "dd"); Single<Map<Integer, Collection<String>>> mapped = source.toMultimap(lengthFunc, duplicate); Map<Integer, Collection<String>> expected = new HashMap<Integer, Collection<String>>(); expected.put(1, Arrays.asList("aa", "bb")); expected.put(2, Arrays.asList("cccc", "dddd")); mapped.subscribe(singleObserver); verify(singleObserver, never()).onError(any(Throwable.class)); verify(singleObserver, times(1)).onSuccess(expected); }
@Test public void testList() { Flowable<String> w = Flowable.fromIterable(Arrays.asList("one", "two", "three")); Single<List<String>> observable = toList(w); SingleObserver<List<String>> observer = TestHelper.mockSingleObserver(); observable.subscribe(observer); verify(observer, times(1)).onSuccess(Arrays.asList("one", "two", "three")); verify(observer, Mockito.never()).onError(any(Throwable.class)); }
@Test public void testFirstOrElseWithPredicateOfNoneMatchingThePredicate() { Flowable<String> src = Flowable.just("a", "b", "c"); first(src.filter(IS_D), "default").subscribe(wo); verify(wo, times(1)).onSuccess(anyString()); verify(wo, times(1)).onSuccess("default"); verify(wo, never()).onError(any(Throwable.class)); }
@Test public void testIsEmptyWithOneItem() { Flowable<Integer> w = Flowable.just(1); Single<Boolean> observable = RxJava3Interop.isEmpty(w); SingleObserver<Boolean> observer = TestHelper.mockSingleObserver(); observable.subscribe(observer); verify(observer, never()).onSuccess(true); verify(observer, times(1)).onSuccess(false); verify(observer, never()).onError(any(Throwable.class)); }
@Test public void testCountZeroItems() { Observable<String> o = Observable.empty(); o.count().subscribe(wo); // we should be called only once verify(wo, times(1)).onSuccess(anyLong()); verify(wo).onSuccess(0L); verify(wo, never()).onError(any(Throwable.class)); }
@Override public void onError(Throwable e) { SingleSource<? extends T> source; try { source = ObjectHelper.requireNonNull(nextFunction.apply(e), "The nextFunction returned a null SingleSource."); } catch (Throwable ex) { Exceptions.throwIfFatal(ex); actual.onError(new CompositeException(e, ex)); return; } source.subscribe(new ResumeSingleObserver<T>(this, actual)); }
@Test @Ignore("null values are not allowed") public void testContainsWithNull() { Single<Boolean> o = Observable.just("a", "b", null).contains(null); SingleObserver<Object> observer = TestHelper.mockSingleObserver(); o.subscribe(observer); verify(observer, times(1)).onSuccess(true); verify(observer, never()).onSuccess(false); verify(observer, never()).onError( any(Throwable.class)); }