|
23 | 23 |
|
24 | 24 | import java.util.Arrays; |
25 | 25 | import java.util.Iterator; |
| 26 | +import java.util.concurrent.TimeUnit; |
26 | 27 | import java.util.concurrent.atomic.AtomicInteger; |
27 | 28 | import static org.junit.Assert.assertEquals; |
28 | 29 |
|
|
37 | 38 | import rx.functions.Func1; |
38 | 39 | import rx.functions.Func2; |
39 | 40 | import rx.functions.Func3; |
| 41 | +import rx.observers.TestSubscriber; |
| 42 | +import rx.schedulers.TestScheduler; |
40 | 43 | import rx.subjects.PublishSubject; |
41 | 44 |
|
42 | 45 | public class OperatorZipIterableTest { |
@@ -378,4 +381,22 @@ public String call(Integer t1) { |
378 | 381 |
|
379 | 382 | assertEquals(2, squareStr.counter.get()); |
380 | 383 | } |
| 384 | + |
| 385 | + @Test |
| 386 | + public void testZipIterableWithDelay() { |
| 387 | + TestScheduler scheduler = new TestScheduler(); |
| 388 | + Observable<Integer> o = Observable.just(1, 2).zipWith(Arrays.asList(1), new Func2<Integer, Integer, Integer>() { |
| 389 | + @Override |
| 390 | + public Integer call(Integer v1, Integer v2) { |
| 391 | + return v1; |
| 392 | + } |
| 393 | + }).delay(500, TimeUnit.MILLISECONDS, scheduler); |
| 394 | + |
| 395 | + TestSubscriber<Integer> subscriber = new TestSubscriber<Integer>(); |
| 396 | + o.subscribe(subscriber); |
| 397 | + scheduler.advanceTimeBy(1000, TimeUnit.MILLISECONDS); |
| 398 | + subscriber.assertValue(1); |
| 399 | + subscriber.assertNoErrors(); |
| 400 | + subscriber.assertCompleted(); |
| 401 | + } |
381 | 402 | } |
0 commit comments