Skip to content

Commit 72d9872

Browse files
Joachim HoferJoachim Hofer jmhofer.github@johoop.de
authored andcommitted
updated a test and added another one, trying to get the expected behavior right
1 parent f4968d6 commit 72d9872

File tree

1 file changed

+40
-1
lines changed

1 file changed

+40
-1
lines changed

rxjava-core/src/main/java/rx/operators/OperationCombineLatest.java

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ public void testCombineLatestDifferentLengthObservableSequences1() {
304304

305305
/* we should have been called 4 times on the Observer */
306306
InOrder inOrder = inOrder(w);
307-
inOrder.verify(w).onNext("1a2a3a");
307+
inOrder.verify(w).onNext("1a2b3a");
308308
inOrder.verify(w).onNext("1a2b3b");
309309
inOrder.verify(w).onNext("1a2b3c");
310310
inOrder.verify(w).onNext("1a2b3d");
@@ -348,6 +348,45 @@ public void testCombineLatestDifferentLengthObservableSequences2() {
348348

349349
}
350350

351+
@SuppressWarnings("unchecked")
352+
/* mock calls don't do generics */
353+
@Test
354+
public void testCombineLatestWithInterleavingSequences() {
355+
Observer<String> w = mock(Observer.class);
356+
357+
TestObservable w1 = new TestObservable();
358+
TestObservable w2 = new TestObservable();
359+
TestObservable w3 = new TestObservable();
360+
361+
Observable<String> combineLatestW = Observable.create(combineLatest(w1, w2, w3, getConcat3StringsCombineLatestFunction()));
362+
combineLatestW.subscribe(w);
363+
364+
/* simulate sending data */
365+
w1.Observer.onNext("1a");
366+
w2.Observer.onNext("2a");
367+
w2.Observer.onNext("2b");
368+
w3.Observer.onNext("3a");
369+
370+
w1.Observer.onNext("1b");
371+
w2.Observer.onNext("2c");
372+
w2.Observer.onNext("2d");
373+
w3.Observer.onNext("3b");
374+
375+
w1.Observer.onCompleted();
376+
w2.Observer.onCompleted();
377+
w3.Observer.onCompleted();
378+
379+
/* we should have been called 5 times on the Observer */
380+
InOrder inOrder = inOrder(w);
381+
inOrder.verify(w).onNext("1a2b3a");
382+
inOrder.verify(w).onNext("1b2b3a");
383+
inOrder.verify(w).onNext("1b2c3a");
384+
inOrder.verify(w).onNext("1b2d3a");
385+
inOrder.verify(w).onNext("1b2d3b");
386+
387+
inOrder.verify(w, times(1)).onCompleted();
388+
}
389+
351390
/**
352391
* Testing internal private logic due to the complexity so I want to use TDD to test as a I build it rather than relying purely on the overall functionality expected by the public methods.
353392
*/

0 commit comments

Comments
 (0)