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

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

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

Observable.count介绍

[英]Returns a Single that counts the total number of items emitted by the source ObservableSource and emits this count as a 64-bit Long.

Scheduler: count does not operate by default on a particular Scheduler.
[中]返回对源ObservableSource发出的项目总数进行计数的单个值,并以64位长的形式发出此计数。
计划程序:默认情况下,计数不会在特定计划程序上运行。

代码示例

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

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

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

  1. @Override
  2. public ObservableSource<Long> apply(Observable<Object> o) throws Exception {
  3. return o.count().toObservable();
  4. }
  5. });

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

  1. @Test
  2. public void testCountError() {
  3. Observable<String> o = Observable.error(new Callable<Throwable>() {
  4. @Override
  5. public Throwable call() {
  6. return new RuntimeException();
  7. }
  8. });
  9. o.count().subscribe(wo);
  10. verify(wo, never()).onSuccess(anyInt());
  11. verify(wo, times(1)).onError(any(RuntimeException.class));
  12. }

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

  1. @Test
  2. public void dispose() {
  3. TestHelper.checkDisposed(Observable.just(1).count());
  4. TestHelper.checkDisposed(Observable.just(1).count().toObservable());
  5. }

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

  1. @Test
  2. public void testCountAFewItems() {
  3. Observable<String> o = Observable.just("a", "b", "c", "d");
  4. o.count().subscribe(wo);
  5. // we should be called only once
  6. verify(wo, times(1)).onSuccess(anyLong());
  7. verify(wo).onSuccess(4L);
  8. verify(wo, never()).onError(any(Throwable.class));
  9. }

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

  1. @Test
  2. public void testCountAFewItemsObservable() {
  3. Observable<String> o = Observable.just("a", "b", "c", "d");
  4. o.count().toObservable().subscribe(w);
  5. // we should be called only once
  6. verify(w, times(1)).onNext(anyLong());
  7. verify(w).onNext(4L);
  8. verify(w, never()).onError(any(Throwable.class));
  9. verify(w, times(1)).onComplete();
  10. }

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

  1. @Test
  2. public void testCountErrorObservable() {
  3. Observable<String> o = Observable.error(new Callable<Throwable>() {
  4. @Override
  5. public Throwable call() {
  6. return new RuntimeException();
  7. }
  8. });
  9. o.count().toObservable().subscribe(w);
  10. verify(w, never()).onNext(anyInt());
  11. verify(w, never()).onComplete();
  12. verify(w, times(1)).onError(any(RuntimeException.class));
  13. }

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

  1. @Test
  2. public void testCountZeroItems() {
  3. Observable<String> o = Observable.empty();
  4. o.count().subscribe(wo);
  5. // we should be called only once
  6. verify(wo, times(1)).onSuccess(anyLong());
  7. verify(wo).onSuccess(0L);
  8. verify(wo, never()).onError(any(Throwable.class));
  9. }

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

  1. @Test
  2. public void justUnsubscribed() throws Exception {
  3. o = new Object();
  4. WeakReference<Object> wr = new WeakReference<Object>(o);
  5. TestObserver<Long> to = Observable.just(o).count().toObservable().onTerminateDetach().test();
  6. o = null;
  7. to.cancel();
  8. System.gc();
  9. Thread.sleep(200);
  10. Assert.assertNull("Object retained!", wr.get());
  11. }

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

  1. @Test
  2. public void testCountZeroItemsObservable() {
  3. Observable<String> o = Observable.empty();
  4. o.count().toObservable().subscribe(w);
  5. // we should be called only once
  6. verify(w, times(1)).onNext(anyLong());
  7. verify(w).onNext(0L);
  8. verify(w, never()).onError(any(Throwable.class));
  9. verify(w, times(1)).onComplete();
  10. }

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

  1. @Test
  2. public void just() throws Exception {
  3. o = new Object();
  4. WeakReference<Object> wr = new WeakReference<Object>(o);
  5. TestObserver<Object> to = new TestObserver<Object>();
  6. Observable.just(o).count().toObservable().onTerminateDetach().subscribe(to);
  7. to.assertValue(1L);
  8. to.assertComplete();
  9. to.assertNoErrors();
  10. o = null;
  11. System.gc();
  12. Thread.sleep(200);
  13. Assert.assertNull("Object retained!", wr.get());
  14. }

代码示例来源:origin: Polidea/RxAndroidBle

  1. /**
  2. * Observable that emits `true` if the permission was granted on the time of subscription
  3. * @param locationServicesStatus the LocationServicesStatus
  4. * @param timerScheduler the Scheduler
  5. * @return the observable
  6. */
  7. @NonNull
  8. private static Single<Boolean> checkPermissionUntilGranted(
  9. final LocationServicesStatus locationServicesStatus,
  10. Scheduler timerScheduler
  11. ) {
  12. return Observable.interval(0, 1L, TimeUnit.SECONDS, timerScheduler)
  13. .takeWhile(new Predicate<Long>() {
  14. @Override
  15. public boolean test(Long timer) {
  16. return !locationServicesStatus.isLocationPermissionOk();
  17. }
  18. })
  19. .count()
  20. .map(new Function<Long, Boolean>() {
  21. @Override
  22. public Boolean apply(Long count) throws Exception {
  23. // if no elements were emitted then the permission was granted from the beginning
  24. return count == 0;
  25. }
  26. });
  27. }

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

  1. @Test
  2. public void testTakeLastZeroProcessesAllItemsButIgnoresThem() {
  3. final AtomicInteger upstreamCount = new AtomicInteger();
  4. final int num = 10;
  5. long count = Observable.range(1, num).doOnNext(new Consumer<Integer>() {
  6. @Override
  7. public void accept(Integer t) {
  8. upstreamCount.incrementAndGet();
  9. }})
  10. .takeLast(0).count().blockingGet();
  11. assertEquals(num, upstreamCount.get());
  12. assertEquals(0L, count);
  13. }

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

  1. @Test
  2. public void fromArityArgs1() {
  3. Observable<String> items = Observable.just("one");
  4. assertEquals((Long)1L, items.count().blockingGet());
  5. assertEquals("one", items.takeLast(1).blockingSingle());
  6. }

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

  1. @Test
  2. public void testUpstreamIsProcessedButIgnoredObservable() {
  3. final int num = 10;
  4. final AtomicInteger upstreamCount = new AtomicInteger();
  5. long count = Observable.range(1, num)
  6. .doOnNext(new Consumer<Integer>() {
  7. @Override
  8. public void accept(Integer t) {
  9. upstreamCount.incrementAndGet();
  10. }
  11. })
  12. .ignoreElements()
  13. .toObservable()
  14. .count().blockingGet();
  15. assertEquals(num, upstreamCount.get());
  16. assertEquals(0, count);
  17. }

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

  1. @Test
  2. public void fromIterable() {
  3. ArrayList<String> items = new ArrayList<String>();
  4. items.add("one");
  5. items.add("two");
  6. items.add("three");
  7. assertEquals((Long)3L, Observable.fromIterable(items).count().blockingGet());
  8. assertEquals("two", Observable.fromIterable(items).skip(1).take(1).blockingSingle());
  9. assertEquals("three", Observable.fromIterable(items).takeLast(1).blockingSingle());
  10. }

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

  1. @Test
  2. public void testIssue1522() {
  3. // https://github.com/ReactiveX/RxJava/issues/1522
  4. assertNull(Observable
  5. .empty()
  6. .count()
  7. .filter(new Predicate<Long>() {
  8. @Override
  9. public boolean test(Long v) {
  10. return false;
  11. }
  12. })
  13. .blockingGet());
  14. }

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

  1. @Test
  2. public void fromArityArgs3() {
  3. Observable<String> items = Observable.just("one", "two", "three");
  4. assertEquals((Long)3L, items.count().blockingGet());
  5. assertEquals("two", items.skip(1).take(1).blockingSingle());
  6. assertEquals("three", items.takeLast(1).blockingSingle());
  7. }

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

  1. @Test
  2. public void fromArray() {
  3. String[] items = new String[] { "one", "two", "three" };
  4. assertEquals((Long)3L, Observable.fromArray(items).count().blockingGet());
  5. assertEquals("two", Observable.fromArray(items).skip(1).take(1).blockingSingle());
  6. assertEquals("three", Observable.fromArray(items).takeLast(1).blockingSingle());
  7. }

代码示例来源:origin: silentbalanceyh/vertx-zero

  1. private boolean isPlugin(final Class<?> clazz) {
  2. final Field[] fields = clazz.getDeclaredFields();
  3. final Long counter = Observable.fromArray(fields)
  4. .filter(field -> field.isAnnotationPresent(Plugin.class))
  5. .count().blockingGet();
  6. return 0 < counter;
  7. }
  8. }

相关文章

Observable类方法