Testing using simple subscription
We can test what we get by simply subscribing to the source Observable instance and collecting all of the incoming notifications. In order to demonstrate that, we'll develop a factory method for creating a new Observable instance and will test its behavior.
The method will receive a Comparator instance and multiple items, and will return Observable instance, emitting these items as a sorted sequence. The items will be sorted according to the Comparator instance passed.
We can develop the method using TDD. Let's first define the test as follows:
public class SortedObservableTest {
private Observable<String> tested;
private List<String> expected;
@Before
public void before() {
tested = CreateObservable.<String>sorted(
(a, b) -> a.compareTo(b),
"Star", "Bar", "Car", "War", "Far", "Jar");
expected = Arrays.asList(
"Bar", "Car", "Far", "Jar", "Star", "War"
);
}
TestData data = new TestData();
tested...