|
16 | 16 | package rx.internal.operators;
|
17 | 17 |
|
18 | 18 | import static org.junit.Assert.assertEquals;
|
19 |
| -import static org.mockito.Mockito.any; |
20 |
| -import static org.mockito.Mockito.mock; |
21 |
| -import static org.mockito.Mockito.never; |
22 |
| -import static org.mockito.Mockito.times; |
23 |
| -import static org.mockito.Mockito.verify; |
24 |
| -import static org.mockito.Mockito.when; |
25 |
| - |
26 |
| -import java.util.concurrent.CancellationException; |
27 |
| -import java.util.concurrent.ExecutionException; |
28 |
| -import java.util.concurrent.Future; |
29 |
| -import java.util.concurrent.TimeUnit; |
30 |
| -import java.util.concurrent.TimeoutException; |
| 19 | +import static org.mockito.Matchers.any; |
| 20 | +import static org.mockito.Mockito.*; |
| 21 | + |
| 22 | +import java.util.concurrent.*; |
31 | 23 | import java.util.concurrent.atomic.AtomicBoolean;
|
32 | 24 |
|
33 | 25 | import org.junit.Test;
|
34 | 26 |
|
35 |
| -import rx.Observable; |
36 |
| -import rx.Observer; |
37 |
| -import rx.Subscription; |
38 |
| -import rx.observers.TestObserver; |
39 |
| -import rx.observers.TestSubscriber; |
| 27 | +import rx.*; |
| 28 | +import rx.observers.*; |
40 | 29 | import rx.schedulers.Schedulers;
|
41 | 30 |
|
42 | 31 | public class OnSubscribeToObservableFutureTest {
|
@@ -139,4 +128,28 @@ public Object get(long timeout, TimeUnit unit) throws InterruptedException, Exec
|
139 | 128 | assertEquals(0, testSubscriber.getOnCompletedEvents().size());
|
140 | 129 | assertEquals(0, testSubscriber.getOnNextEvents().size());
|
141 | 130 | }
|
| 131 | + |
| 132 | + @Test |
| 133 | + public void backpressure() { |
| 134 | + TestSubscriber<Integer> ts = new TestSubscriber<Integer>(0); |
| 135 | + |
| 136 | + FutureTask<Integer> f = new FutureTask<Integer>(new Runnable() { |
| 137 | + @Override |
| 138 | + public void run() { |
| 139 | + |
| 140 | + } |
| 141 | + }, 1); |
| 142 | + |
| 143 | + f.run(); |
| 144 | + |
| 145 | + Observable.from(f).subscribe(ts); |
| 146 | + |
| 147 | + ts.assertNoValues(); |
| 148 | + |
| 149 | + ts.requestMore(1); |
| 150 | + |
| 151 | + ts.assertValue(1); |
| 152 | + ts.assertNoErrors(); |
| 153 | + ts.assertCompleted(); |
| 154 | + } |
142 | 155 | }
|
0 commit comments