Ejemplo n.º 1
0
  @Test
  public void testThatObserverReceivesLatestAndThenSubsequentEvents() {
    BehaviorRelay<String> relay = BehaviorRelay.create("default");

    relay.call("one");

    @SuppressWarnings("unchecked")
    Observer<String> observer = mock(Observer.class);
    relay.subscribe(observer);

    relay.call("two");
    relay.call("three");

    verify(observer, times(1)).onNext("one");
    verify(observer, times(1)).onNext("two");
    verify(observer, times(1)).onNext("three");
    verifyNoMoreInteractions(observer);
  }
Ejemplo n.º 2
0
  @Test
  public void testStartEmpty() {
    BehaviorRelay<Integer> source = BehaviorRelay.create();
    @SuppressWarnings("unchecked")
    final Observer<Object> o = mock(Observer.class);
    InOrder inOrder = inOrder(o);

    source.subscribe(o);

    inOrder.verify(o, never()).onNext(any());
    inOrder.verify(o, never()).onCompleted();

    source.call(1);

    verify(o, never()).onError(any(Throwable.class));
    verify(o, never()).onCompleted();

    inOrder.verify(o).onNext(1);
    inOrder.verifyNoMoreInteractions();
  }