Skip to content

Commit ed8940b

Browse files
Take Operator Error Handling
Unit test for ReactiveX#217
1 parent d52bdd3 commit ed8940b

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

rxjava-core/src/test/java/rx/ObservableTests.java

+34
Original file line numberDiff line numberDiff line change
@@ -549,4 +549,38 @@ public void call(String t1) {
549549
assertNotNull(exception.get());
550550
assertEquals("failure", exception.get().getMessage());
551551
}
552+
553+
@Test
554+
public void testTakeWithErrorInObserver() {
555+
final AtomicInteger count = new AtomicInteger();
556+
final AtomicReference<Throwable> error = new AtomicReference<Throwable>();
557+
Observable.from("1", "2", "three", "4").take(3).subscribe(new Observer<String>() {
558+
559+
@Override
560+
public void onCompleted() {
561+
System.out.println("completed");
562+
}
563+
564+
@Override
565+
public void onError(Throwable e) {
566+
error.set(e);
567+
System.out.println("error");
568+
e.printStackTrace();
569+
}
570+
571+
@Override
572+
public void onNext(String v) {
573+
int num = Integer.parseInt(v);
574+
System.out.println(num);
575+
// doSomething(num);
576+
count.incrementAndGet();
577+
}
578+
579+
});
580+
assertEquals(2, count.get());
581+
assertNotNull(error.get());
582+
if (!(error.get() instanceof NumberFormatException)) {
583+
fail("It should be a NumberFormatException");
584+
}
585+
}
552586
}

0 commit comments

Comments
 (0)