@Override public Observable<String> call() { return Observable.empty(); } };
@Test public void testSkipEmpty() { Observable<Integer> src = Observable.empty(); src.skipWhile(LESS_THAN_FIVE).subscribe(w); verify(w, never()).onNext(anyInt()); verify(w, never()).onError(any(Throwable.class)); verify(w, times(1)).onComplete(); }
@Test public void testFirstOrElseOfNone() { Observable<String> src = Observable.empty(); src.first("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 testTakeLastEmpty() { Observable<String> w = Observable.empty(); Observable<String> take = w.takeLast(2); Observer<String> observer = TestHelper.mockObserver(); take.subscribe(observer); verify(observer, never()).onNext(any(String.class)); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testSkipEmptyStream() { Observable<String> w = Observable.empty(); Observable<String> skip = w.skip(1); Observer<String> observer = TestHelper.mockObserver(); skip.subscribe(observer); verify(observer, never()).onNext(any(String.class)); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testFirstWithEmpty() { Maybe<Integer> o = Observable.<Integer> empty().firstElement(); o.subscribe(wm); InOrder inOrder = inOrder(wm); inOrder.verify(wm, times(1)).onComplete(); inOrder.verify(wm, never()).onError(any(Throwable.class)); inOrder.verifyNoMoreInteractions(); }
@Test public void testLastWithEmpty() { Maybe<Integer> o = Observable.<Integer> empty().lastElement(); MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver(); o.subscribe(observer); InOrder inOrder = inOrder(observer); inOrder.verify(observer).onComplete(); inOrder.verify(observer, never()).onError(any(Throwable.class)); inOrder.verifyNoMoreInteractions(); }
@Test public void empty() { ConnectableObservable<Integer> co = Observable.<Integer>empty().publish(); co.connect(); }
@SuppressWarnings("unchecked") @Test public void bufferTimedExactEmpty() { Observable.empty() .buffer(1, TimeUnit.DAYS) .test() .assertResult(Collections.emptyList()); }
@Test public void timedEmptyOther() { Observable.empty() .timeout(1, TimeUnit.DAYS, Observable.just(1)) .test() .assertResult(); }
@Test public void assertValuePredicateEmpty() { TestObserver<Object> to = new TestObserver<Object>(); Observable.empty().subscribe(to); thrown.expect(AssertionError.class); thrown.expectMessage("No values"); to.assertValue(new Predicate<Object>() { @Override public boolean test(final Object o) throws Exception { return false; } }); }
@Test public void empty() { Observable.<Integer>empty() .doAfterNext(afterNext) .subscribeWith(to) .assertResult(); assertTrue(values.isEmpty()); }
@Test public void elementAtIndex0WithDefaultOnEmptySource() { Observable.empty() .elementAt(0, 5) .test() .assertResult(5); }
@Test public void elementAtOrErrorIndex1OnEmptySource() { Observable.empty() .elementAtOrError(1) .test() .assertFailure(NoSuchElementException.class); }
@SuppressWarnings("unchecked") @Test public void combineLatestDelayErrorEmpty() { assertSame(Observable.empty(), Observable.combineLatestDelayError(new ObservableSource[0], Functions.<Object[]>identity(), 16)); }
@Test public void testLastWithNoElements() { Maybe<?> last = Observable.empty().lastElement(); assertNull(last.blockingGet()); }
@Test public void testLastOfEmptyReturnsEmpty() { TestObserver<Object> to = new TestObserver<Object>(); Observable.empty().takeLast(1).subscribe(to); to.assertNoValues(); to.assertNoErrors(); to.assertTerminated(); // NO longer assertable // s.assertUnsubscribed(); }
@Test public void elementAtOrErrorNoElement() { Observable.empty() .elementAtOrError(0) .test() .assertNoValues() .assertError(NoSuchElementException.class); }
@Test public void elementAtIndex1WithDefaultOnEmptySourceObservable() { Observable.empty() .elementAt(1, 10) .toObservable() .test() .assertResult(10); }
@Test public void scalarEmptySource() { CompletableSubject cs = CompletableSubject.create(); Observable.empty() .switchMapCompletable(Functions.justFunction(cs)) .test() .assertResult(); assertFalse(cs.hasObservers()); }