@Override public SingleSource<Boolean> apply(Observable<Object> o) throws Exception { return o.any(Functions.alwaysTrue()); } });
@Test(expected = NullPointerException.class) public void anyPredicateNull() { just1.any(null); }
@Override public ObservableSource<Boolean> apply(Observable<Object> o) throws Exception { return o.any(Functions.alwaysTrue()).toObservable(); } });
@Test public void testAnyWithOneItem() { Observable<Integer> w = Observable.just(1); Single<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer v) { return true; } }); SingleObserver<Boolean> observer = TestHelper.mockSingleObserver(); observable.subscribe(observer); verify(observer, never()).onSuccess(false); verify(observer, times(1)).onSuccess(true); verify(observer, never()).onError(any(Throwable.class)); }
@Test public void testAnyWithTwoItems() { Observable<Integer> w = Observable.just(1, 2); Single<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer v) { return true; } }); SingleObserver<Boolean> observer = TestHelper.mockSingleObserver(); observable.subscribe(observer); verify(observer, never()).onSuccess(false); verify(observer, times(1)).onSuccess(true); verify(observer, never()).onError(any(Throwable.class)); }
@Test public void testAnyWithPredicate1() { Observable<Integer> w = Observable.just(1, 2, 3); Single<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer t1) { return t1 < 2; } }); SingleObserver<Boolean> observer = TestHelper.mockSingleObserver(); observable.subscribe(observer); verify(observer, never()).onSuccess(false); verify(observer, times(1)).onSuccess(true); verify(observer, never()).onError(any(Throwable.class)); }
@Test public void testAnyWithEmpty() { Observable<Integer> w = Observable.empty(); Single<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer v) { return true; } }); SingleObserver<Boolean> observer = TestHelper.mockSingleObserver(); observable.subscribe(observer); verify(observer, times(1)).onSuccess(false); verify(observer, never()).onSuccess(true); verify(observer, never()).onError(any(Throwable.class)); }
@Test public void testExists1() { Observable<Integer> w = Observable.just(1, 2, 3); Single<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer t1) { return t1 < 2; } }); SingleObserver<Boolean> observer = TestHelper.mockSingleObserver(); observable.subscribe(observer); verify(observer, never()).onSuccess(false); verify(observer, times(1)).onSuccess(true); verify(observer, never()).onError(any(Throwable.class)); }
@Test public void testAnyWithPredicate2() { Observable<Integer> w = Observable.just(1, 2, 3); Single<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer t1) { return t1 < 1; } }); SingleObserver<Boolean> observer = TestHelper.mockSingleObserver(); observable.subscribe(observer); verify(observer, times(1)).onSuccess(false); verify(observer, never()).onSuccess(true); verify(observer, never()).onError(any(Throwable.class)); }
@Test public void testExists1Observable() { Observable<Integer> w = Observable.just(1, 2, 3); Observable<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer t1) { return t1 < 2; } }).toObservable(); Observer<Boolean> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, never()).onNext(false); verify(observer, times(1)).onNext(true); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testAnyWithPredicate2Observable() { Observable<Integer> w = Observable.just(1, 2, 3); Observable<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer t1) { return t1 < 1; } }).toObservable(); Observer<Boolean> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, times(1)).onNext(false); verify(observer, never()).onNext(true); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testAnyWithEmptyObservable() { Observable<Integer> w = Observable.empty(); Observable<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer v) { return true; } }).toObservable(); Observer<Boolean> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, times(1)).onNext(false); verify(observer, never()).onNext(true); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testAnyWithPredicate1Observable() { Observable<Integer> w = Observable.just(1, 2, 3); Observable<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer t1) { return t1 < 2; } }).toObservable(); Observer<Boolean> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, never()).onNext(false); verify(observer, times(1)).onNext(true); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testAnyWithEmptyAndPredicateObservable() { // If the source is empty, always output false. Observable<Integer> w = Observable.empty(); Observable<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer t) { return true; } }).toObservable(); Observer<Boolean> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, times(1)).onNext(false); verify(observer, never()).onNext(true); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testAnyWithTwoItemsObservable() { Observable<Integer> w = Observable.just(1, 2); Observable<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer v) { return true; } }).toObservable(); Observer<Boolean> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, never()).onNext(false); verify(observer, times(1)).onNext(true); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testAnyWithOneItemObservable() { Observable<Integer> w = Observable.just(1); Observable<Boolean> observable = w.any(new Predicate<Integer>() { @Override public boolean test(Integer v) { return true; } }).toObservable(); Observer<Boolean> observer = TestHelper.mockObserver(); observable.subscribe(observer); verify(observer, never()).onNext(false); verify(observer, times(1)).onNext(true); verify(observer, never()).onError(any(Throwable.class)); verify(observer, times(1)).onComplete(); }
@Test public void testWithFollowingFirst() { Observable<Integer> o = Observable.fromArray(1, 3, 5, 6); Single<Boolean> anyEven = o.any(new Predicate<Integer>() { @Override public boolean test(Integer i) { return i % 2 == 0; } }); assertTrue(anyEven.blockingGet()); } @Test(timeout = 5000)
@Test public void testWithFollowingFirstObservable() { Observable<Integer> o = Observable.fromArray(1, 3, 5, 6); Observable<Boolean> anyEven = o.any(new Predicate<Integer>() { @Override public boolean test(Integer i) { return i % 2 == 0; } }).toObservable(); assertTrue(anyEven.blockingFirst()); } @Test(timeout = 5000)
@Test public void testPredicateThrowsExceptionAndValueInCauseMessage() { TestObserver<Boolean> ts = new TestObserver<Boolean>(); final IllegalArgumentException ex = new IllegalArgumentException(); Observable.just("Boo!").any(new Predicate<String>() { @Override public boolean test(String v) { throw ex; } }).subscribe(ts); ts.assertTerminated(); ts.assertNoValues(); ts.assertNotComplete(); ts.assertError(ex); // FIXME value as last cause? // assertTrue(ex.getCause().getMessage().contains("Boo!")); }