Skip to content

Commit 8b7c07b

Browse files
committed
fixup! Added OperatorSubscribeUntil and tests
1 parent 0c3cbe9 commit 8b7c07b

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

rxandroid/src/test/java/rx/android/lifecycle/OperatorSubscribeUntilTest.java

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
import org.robolectric.annotation.Config;
2525
import rx.Observable;
2626
import rx.Subscriber;
27+
import rx.Subscription;
2728
import rx.observers.TestSubscriber;
2829

2930
import static org.junit.Assert.assertFalse;
31+
import static org.junit.Assert.assertTrue;
3032
import static org.mockito.Matchers.any;
31-
import static org.mockito.Mockito.never;
32-
import static org.mockito.Mockito.verify;
33-
import static org.mockito.Mockito.verifyZeroInteractions;
33+
import static org.mockito.Mockito.*;
3434

3535
@RunWith(RobolectricTestRunner.class)
3636
@Config(manifest = Config.NONE)
@@ -45,14 +45,34 @@ public void setup() {
4545
}
4646

4747
@Test
48-
public void testDoesNotComplete() {
49-
Observable.never()
50-
.lift(new OperatorSubscribeUntil<Object, String>(Observable.just("Single Item")))
48+
public void testSourceUnsubscribesOnNext() {
49+
Subscription subscription = Observable.never()
50+
.lift(new OperatorSubscribeUntil<Object, Object>(Observable.just(new Object())))
5151
.subscribe(subscriber);
5252

5353
verify(subscriber, never()).onNext(any());
54-
verify(subscriber, never()).onError(any(Throwable.class));
54+
assertTrue(subscription.isUnsubscribed());
55+
}
56+
57+
@Test
58+
public void testSourceUnsubscribesOnComplete() {
59+
Subscription subscription = Observable.never()
60+
.lift(new OperatorSubscribeUntil<Object, Object>(Observable.empty()))
61+
.subscribe(subscriber);
62+
5563
verify(subscriber, never()).onCompleted();
64+
assertTrue(subscription.isUnsubscribed());
65+
}
66+
67+
@Test
68+
public void testSourceReceivesExceptions() {
69+
Exception exception = new RuntimeException();
70+
Subscription subscription = Observable.never()
71+
.lift(new OperatorSubscribeUntil<Object, String>(Observable.<String>error(exception)))
72+
.subscribe(subscriber);
73+
74+
verify(subscriber, atLeastOnce()).onError(exception);
75+
assertTrue(subscription.isUnsubscribed());
5676
}
5777

5878
}

0 commit comments

Comments
 (0)