io.reactivex.Observable.singleElement()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(267)

本文整理了Java中io.reactivex.Observable.singleElement()方法的一些代码示例,展示了Observable.singleElement()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Observable.singleElement()方法的具体详情如下:
包路径:io.reactivex.Observable
类名称:Observable
方法名:singleElement

Observable.singleElement介绍

[英]Returns a Maybe that completes if this Observable is empty or emits the single item emitted by this Observable, or signals an IllegalArgumentException if this Observable emits more than one item.

Scheduler: singleElement does not operate by default on a particular Scheduler.
[中]如果此可观测项为空或发出此可观测项发出的单个项,则返回一个可能完成的值;如果此可观测项发出多个项,则返回一个IllegalArgumentException信号。
调度程序:singleElement默认情况下不会在特定调度程序上运行。

代码示例

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public Object apply(Observable<Object> o) throws Exception {
  3. return o.singleElement();
  4. }
  5. }, false, 1, 1, 1);

代码示例来源:origin: ReactiveX/RxJava

  1. @Override
  2. public MaybeSource<Object> apply(Observable<Object> o) throws Exception {
  3. return o.singleElement();
  4. }
  5. });

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleObservable() {
  3. Observable<Integer> o = Observable.just(1).singleElement().toObservable();
  4. Observer<Integer> observer = TestHelper.mockObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onNext(1);
  8. inOrder.verify(observer, times(1)).onComplete();
  9. inOrder.verifyNoMoreInteractions();
  10. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingle() {
  3. Maybe<Integer> o = Observable.just(1).singleElement();
  4. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onSuccess(1);
  8. inOrder.verifyNoMoreInteractions();
  9. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void fromObservableJust() {
  3. Observable.just(1)
  4. .singleElement()
  5. .test()
  6. .assertResult(1);
  7. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithEmptyObservable() {
  3. Observable<Integer> o = Observable.<Integer> empty().singleElement().toObservable();
  4. Observer<Integer> observer = TestHelper.mockObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer).onComplete();
  8. inOrder.verify(observer, never()).onError(any(Throwable.class));
  9. inOrder.verifyNoMoreInteractions();
  10. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithTooManyElementsObservable() {
  3. Observable<Integer> o = Observable.just(1, 2).singleElement().toObservable();
  4. Observer<Integer> observer = TestHelper.mockObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onError(
  8. isA(IllegalArgumentException.class));
  9. inOrder.verifyNoMoreInteractions();
  10. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithTooManyElements() {
  3. Maybe<Integer> o = Observable.just(1, 2).singleElement();
  4. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onError(
  8. isA(IllegalArgumentException.class));
  9. inOrder.verifyNoMoreInteractions();
  10. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithEmpty() {
  3. Maybe<Integer> o = Observable.<Integer> empty().singleElement();
  4. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer).onComplete();
  8. inOrder.verify(observer, never()).onError(any(Throwable.class));
  9. inOrder.verifyNoMoreInteractions();
  10. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithPredicateAndEmptyObservable() {
  3. Observable<Integer> o = Observable.just(1)
  4. .filter(
  5. new Predicate<Integer>() {
  6. @Override
  7. public boolean test(Integer t1) {
  8. return t1 % 2 == 0;
  9. }
  10. })
  11. .singleElement().toObservable();
  12. Observer<Integer> observer = TestHelper.mockObserver();
  13. o.subscribe(observer);
  14. InOrder inOrder = inOrder(observer);
  15. inOrder.verify(observer).onComplete();
  16. inOrder.verify(observer, never()).onError(any(Throwable.class));
  17. inOrder.verifyNoMoreInteractions();
  18. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithPredicateObservable() {
  3. Observable<Integer> o = Observable.just(1, 2)
  4. .filter(
  5. new Predicate<Integer>() {
  6. @Override
  7. public boolean test(Integer t1) {
  8. return t1 % 2 == 0;
  9. }
  10. })
  11. .singleElement().toObservable();
  12. Observer<Integer> observer = TestHelper.mockObserver();
  13. o.subscribe(observer);
  14. InOrder inOrder = inOrder(observer);
  15. inOrder.verify(observer, times(1)).onNext(2);
  16. inOrder.verify(observer, times(1)).onComplete();
  17. inOrder.verifyNoMoreInteractions();
  18. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void obervableMaybeobervable() {
  3. Observable.just(1).singleElement().toObservable().test().assertResult(1);
  4. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithPredicateAndEmpty() {
  3. Maybe<Integer> o = Observable.just(1)
  4. .filter(
  5. new Predicate<Integer>() {
  6. @Override
  7. public boolean test(Integer t1) {
  8. return t1 % 2 == 0;
  9. }
  10. })
  11. .singleElement();
  12. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  13. o.subscribe(observer);
  14. InOrder inOrder = inOrder(observer);
  15. inOrder.verify(observer).onComplete();
  16. inOrder.verify(observer, never()).onError(any(Throwable.class));
  17. inOrder.verifyNoMoreInteractions();
  18. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithPredicate() {
  3. Maybe<Integer> o = Observable.just(1, 2)
  4. .filter(
  5. new Predicate<Integer>() {
  6. @Override
  7. public boolean test(Integer t1) {
  8. return t1 % 2 == 0;
  9. }
  10. })
  11. .singleElement();
  12. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  13. o.subscribe(observer);
  14. InOrder inOrder = inOrder(observer);
  15. inOrder.verify(observer, times(1)).onSuccess(2);
  16. inOrder.verifyNoMoreInteractions();
  17. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithPredicateAndTooManyElementsObservable() {
  3. Observable<Integer> o = Observable.just(1, 2, 3, 4)
  4. .filter(
  5. new Predicate<Integer>() {
  6. @Override
  7. public boolean test(Integer t1) {
  8. return t1 % 2 == 0;
  9. }
  10. })
  11. .singleElement().toObservable();
  12. Observer<Integer> observer = TestHelper.mockObserver();
  13. o.subscribe(observer);
  14. InOrder inOrder = inOrder(observer);
  15. inOrder.verify(observer, times(1)).onError(
  16. isA(IllegalArgumentException.class));
  17. inOrder.verifyNoMoreInteractions();
  18. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void testSingleWithPredicateAndTooManyElements() {
  3. Maybe<Integer> o = Observable.just(1, 2, 3, 4)
  4. .filter(
  5. new Predicate<Integer>() {
  6. @Override
  7. public boolean test(Integer t1) {
  8. return t1 % 2 == 0;
  9. }
  10. })
  11. .singleElement();
  12. MaybeObserver<Integer> observer = TestHelper.mockMaybeObserver();
  13. o.subscribe(observer);
  14. InOrder inOrder = inOrder(observer);
  15. inOrder.verify(observer, times(1)).onError(
  16. isA(IllegalArgumentException.class));
  17. inOrder.verifyNoMoreInteractions();
  18. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void fromObservableEmpty() {
  3. Observable.empty()
  4. .singleElement()
  5. .test()
  6. .assertResult();
  7. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void fromObservableMany() {
  3. Observable.range(1, 2)
  4. .singleElement()
  5. .test()
  6. .assertFailure(IllegalArgumentException.class);
  7. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void singleElementOperatorDoNotSwallowExceptionWhenDone() {
  3. final Throwable exception = new RuntimeException("some error");
  4. final AtomicReference<Throwable> error = new AtomicReference<Throwable>();
  5. try {
  6. RxJavaPlugins.setErrorHandler(new Consumer<Throwable>() {
  7. @Override public void accept(final Throwable throwable) throws Exception {
  8. error.set(throwable);
  9. }
  10. });
  11. Observable.unsafeCreate(new ObservableSource<Integer>() {
  12. @Override public void subscribe(final Observer<? super Integer> observer) {
  13. observer.onComplete();
  14. observer.onError(exception);
  15. }
  16. }).singleElement().test().assertComplete();
  17. assertSame(exception, error.get().getCause());
  18. } finally {
  19. RxJavaPlugins.reset();
  20. }
  21. }

代码示例来源:origin: ReactiveX/RxJava

  1. @Test
  2. public void fromObservableError() {
  3. Observable.error(new TestException())
  4. .singleElement()
  5. .test()
  6. .assertFailure(TestException.class);
  7. }

相关文章

Observable类方法