下面列出了io.reactivex.observers.TestObserver#assertEmpty ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Test
public void testDeliverLatestToView_Empty() throws Exception {
mPresenter.create();
TestObserver<Integer> testObserver = new TestObserver<>();
Observable.<Integer>empty()
.compose(RxTiPresenterUtils.<Integer>deliverLatestToView(mPresenter))
.subscribe(testObserver);
mPresenter.attachView(mView);
testObserver.assertNotComplete();
testObserver.assertNoErrors();
testObserver.assertEmpty();
}
@Test
public void testDeliverLatestToView_ViewNeverReady() throws Exception {
mPresenter.create();
TestObserver<Integer> testObserver = new TestObserver<>();
Observable.just(1, 2, 3)
.compose(RxTiPresenterUtils.<Integer>deliverLatestToView(mPresenter))
.subscribe(testObserver);
testObserver.assertNotComplete();
testObserver.assertNoErrors();
testObserver.assertEmpty();
}
@Test
public void secondInit() {
BehaviorSubject<String> s1 = BehaviorSubject.create();
BehaviorSubject<String> s2 = BehaviorSubject.createDefault("");
TestObserver<Boolean> to = s1.withLatestFrom(s2, (a, b) -> true)
.test();
to.assertEmpty();
s1.onNext("");
to.assertValue(true);
}
@Test
public void whenObserverSubscribedToBehaviorRelayWithoutDefaultValue_thenItIsEmpty() {
BehaviorRelay<Integer> behaviorRelay = BehaviorRelay.create();
TestObserver<Integer> firstObserver = new TestObserver<>();
behaviorRelay.subscribe(firstObserver);
firstObserver.assertEmpty();
}
@Test
public void whenObserverSubscribedToReplayRelayWithMaxAge_thenItReceivesEmittedEvents () throws InterruptedException {
ReplayRelay<Integer> replayRelay = ReplayRelay.createWithTime(2000, TimeUnit.MILLISECONDS, new SingleScheduler());
TestObserver<Integer> firstObserver = TestObserver.create();
replayRelay.accept(5);
replayRelay.accept(10);
replayRelay.accept(15);
replayRelay.accept(20);
Thread.sleep(3000);
replayRelay.subscribe(firstObserver);
firstObserver.assertEmpty();
}
@Test
public void whenTwoObserversSubscribedToRandomRelay_thenOnlyOneReceivesEvent () {
RandomRelay randomRelay = new RandomRelay();
TestObserver<Integer> firstObserver = TestObserver.create();
TestObserver<Integer> secondObserver = TestObserver.create();
randomRelay.subscribe(firstObserver);
randomRelay.subscribe(secondObserver);
randomRelay.accept(5);
if(firstObserver.values().isEmpty()) {
secondObserver.assertValue(5);
} else {
firstObserver.assertValue(5);
secondObserver.assertEmpty();
}
}
@Test
public void firstInit() {
BehaviorSubject<String> s1 = BehaviorSubject.createDefault("");
BehaviorSubject<String> s2 = BehaviorSubject.create();
TestObserver<Boolean> to = s1.withLatestFrom(s2, (a, b) -> true)
.test();
to.assertEmpty();
s2.onNext("");
to.assertEmpty();
s1.onNext("");
to.assertValue(true);
}