From dfa75972d979259c01447b489a03bd0737562301 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Thu, 30 Jul 2020 22:51:59 +0200 Subject: [PATCH] Add rx error learning test --- .../learning_tests/rx/OnErrorTest.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 domain/src/test/java/org/mercury_im/messenger/learning_tests/rx/OnErrorTest.java diff --git a/domain/src/test/java/org/mercury_im/messenger/learning_tests/rx/OnErrorTest.java b/domain/src/test/java/org/mercury_im/messenger/learning_tests/rx/OnErrorTest.java new file mode 100644 index 0000000..f98c08c --- /dev/null +++ b/domain/src/test/java/org/mercury_im/messenger/learning_tests/rx/OnErrorTest.java @@ -0,0 +1,38 @@ +package org.mercury_im.messenger.learning_tests.rx; + +import org.junit.Test; + +import io.reactivex.Observable; +import io.reactivex.Single; + +public class OnErrorTest { + + @Test + public void observableErrorTest() throws InterruptedException { + Observable errorObservable = Observable.error(new AssertionError()); + Observable fallbackObservable = Observable.just("String"); + + errorObservable + .doOnError(e -> System.out.println("Caught here.")) + .onErrorResumeNext(fallbackObservable) + .flatMap(s -> Observable.just(s) + .doOnError(e -> System.out.println("Or here?"))) + .doOnError(e -> System.out.println("Or even here?")) + .subscribe(s -> System.out.println("Result: " + s), + e -> System.out.println("Finally here.")); + Thread.sleep(100); + } + + @Test + public void singleErrorTest() throws InterruptedException { + Single errorSingle = Single.error(new AssertionError()); + Single successSingle = Single.just("Item"); + + successSingle + .map(s -> "Map: " + s) + .onErrorResumeNext(Single.just("cancel")) + .subscribe(s -> System.out.println(s), + e -> System.out.println("Error")); + Thread.sleep(100); + } +}