|
17 | 17 | import org.junit.Before;
|
18 | 18 | import org.junit.Test;
|
19 | 19 | import org.junit.runner.RunWith;
|
| 20 | +import org.mockito.Mock; |
| 21 | +import org.mockito.MockitoAnnotations; |
| 22 | +import org.mockito.Spy; |
20 | 23 | import org.robolectric.RobolectricTestRunner;
|
21 | 24 | import org.robolectric.annotation.Config;
|
22 | 25 | import rx.Observable;
|
23 | 26 | import rx.Subscriber;
|
24 |
| -import rx.Subscription; |
25 |
| -import rx.functions.Action1; |
26 |
| -import rx.subjects.BehaviorSubject; |
| 27 | +import rx.observers.TestSubscriber; |
27 | 28 |
|
28 | 29 | import static org.junit.Assert.assertFalse;
|
29 |
| -import static org.junit.Assert.assertTrue; |
| 30 | +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; |
30 | 34 |
|
31 | 35 | @RunWith(RobolectricTestRunner.class)
|
32 | 36 | @Config(manifest = Config.NONE)
|
33 | 37 | public class OperatorSubscribeUntilTest {
|
34 | 38 |
|
35 |
| - private Observable<Object> observable; |
36 |
| - private Subscriber<Object> subscriber; |
37 |
| - |
38 |
| - // RxJava tends to swallow fail(); instead just use a subscriber to tell if onComplete was called |
39 |
| - boolean onCompleteCalled; |
| 39 | + @Spy |
| 40 | + private Subscriber<Object> subscriber = new TestSubscriber<Object>(); |
40 | 41 |
|
41 | 42 | @Before
|
42 | 43 | public void setup() {
|
43 |
| - observable = Observable.never(); |
44 |
| - subscriber = new Subscriber<Object>() { |
45 |
| - @Override |
46 |
| - public void onCompleted() { |
47 |
| - onCompleteCalled = true; |
48 |
| - } |
49 |
| - |
50 |
| - @Override |
51 |
| - public void onError(Throwable e) { |
52 |
| - |
53 |
| - } |
54 |
| - |
55 |
| - @Override |
56 |
| - public void onNext(Object o) { |
57 |
| - |
58 |
| - } |
59 |
| - }; |
60 |
| - onCompleteCalled = false; |
| 44 | + MockitoAnnotations.initMocks(this); |
61 | 45 | }
|
62 | 46 |
|
63 | 47 | @Test
|
64 | 48 | public void testDoesNotComplete() {
|
65 |
| - observable.lift(new OperatorSubscribeUntil<Object, String>(Observable.just("Single Item"))) |
| 49 | + Observable.never() |
| 50 | + .lift(new OperatorSubscribeUntil<Object, String>(Observable.just("Single Item"))) |
66 | 51 | .subscribe(subscriber);
|
67 |
| - assertFalse(onCompleteCalled); |
| 52 | + |
| 53 | + verify(subscriber, never()).onNext(any()); |
| 54 | + verify(subscriber, never()).onError(any(Throwable.class)); |
| 55 | + verify(subscriber, never()).onCompleted(); |
68 | 56 | }
|
69 | 57 |
|
70 | 58 | }
|
0 commit comments