예제 #1
0
    @Test
    public void testUnSubscribe() {
      TestObservable tA = new TestObservable();
      TestObservable tB = new TestObservable();

      @SuppressWarnings("unchecked")
      Observable<String> m = Observable.create(merge(tA, tB));
      Subscription s = m.subscribe(stringObserver);

      tA.sendOnNext("Aone");
      tB.sendOnNext("Bone");
      s.unsubscribe();
      tA.sendOnNext("Atwo");
      tB.sendOnNext("Btwo");
      tA.sendOnCompleted();
      tB.sendOnCompleted();

      verify(stringObserver, never()).onError(any(Exception.class));
      verify(stringObserver, times(1)).onNext("Aone");
      verify(stringObserver, times(1)).onNext("Bone");
      assertTrue(tA.unsubscribed);
      assertTrue(tB.unsubscribed);
      verify(stringObserver, never()).onNext("Atwo");
      verify(stringObserver, never()).onNext("Btwo");
      verify(stringObserver, never()).onCompleted();
    }