1212
1313public class AmbTest {
1414
15- public void example () {
15+ public void exampleAmb () {
1616 Observable .amb (
1717 Observable .timer (100 , TimeUnit .MILLISECONDS ).map (i -> "First" ),
1818 Observable .timer (50 , TimeUnit .MILLISECONDS ).map (i -> "Second" ))
@@ -21,13 +21,22 @@ public void example() {
2121 // Second
2222 }
2323
24+ public void exampleAmbWith () {
25+ Observable .timer (100 , TimeUnit .MILLISECONDS ).map (i -> "First" )
26+ .ambWith (Observable .timer (50 , TimeUnit .MILLISECONDS ).map (i -> "Second" ))
27+ .ambWith (Observable .timer (70 , TimeUnit .MILLISECONDS ).map (i -> "Third" ))
28+ .subscribe (System .out ::println );
29+
30+ // Second
31+ }
32+
2433
2534 //
2635 // Test
2736 //
2837
2938 @ Test
30- public void test () {
39+ public void testAmb () {
3140 TestSubscriber <String > tester = new TestSubscriber <>();
3241 TestScheduler scheduler = Schedulers .test ();
3342
@@ -41,5 +50,21 @@ public void test() {
4150 tester .assertTerminalEvent ();
4251 tester .assertNoErrors ();
4352 }
53+
54+ @ Test
55+ public void testAmbWith () {
56+ TestSubscriber <String > tester = new TestSubscriber <>();
57+ TestScheduler scheduler = Schedulers .test ();
58+
59+ Observable .timer (100 , TimeUnit .MILLISECONDS , scheduler ).map (i -> "First" )
60+ .ambWith (Observable .timer (50 , TimeUnit .MILLISECONDS , scheduler ).map (i -> "Second" ))
61+ .ambWith (Observable .timer (70 , TimeUnit .MILLISECONDS , scheduler ).map (i -> "Third" ))
62+ .subscribe (tester );
63+
64+ scheduler .advanceTimeBy (100 , TimeUnit .MILLISECONDS );
65+ tester .assertReceivedOnNext (Arrays .asList ("Second" ));
66+ tester .assertTerminalEvent ();
67+ tester .assertNoErrors ();
68+ }
4469
4570}
0 commit comments