@Test
public void convertsFromPublisherWithMultipleObservers() {

    final List<String> output2 = new ArrayList<>();
    PublishProcessor<String> processor = PublishProcessor.create();
    LiveData<String> liveData = LiveDataReactiveStreams.fromPublisher(processor);
    liveData.observe(S_LIFECYCLE_OWNER, mObserver);
    processor.onNext("foo");
    processor.onNext("bar");
    // The second mObserver should only get the newest value and any later values.
    liveData.observe(S_LIFECYCLE_OWNER, new Observer<String>() {
        @Override
        public void onChanged(@Nullable String s) {
            output2.add(s);
        }
    });
    processor.onNext("baz");
    assertThat(mLiveDataOutput, is(Arrays.asList("foo", "bar", "baz")));
    assertThat(output2, is(Arrays.asList("bar", "baz")));
}