Refactor BackpressureTest
This commit is contained in:
parent
5b79f605a4
commit
4e91a6388c
@ -10,6 +10,7 @@ import rx.subjects.PublishSubject;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
|
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
@ -21,13 +22,16 @@ public class RxJavaBackpressureTest {
|
|||||||
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
||||||
|
|
||||||
//when
|
//when
|
||||||
Observable.range(1, 1_000_000)
|
Observable
|
||||||
|
.range(1, 1_000_000)
|
||||||
.observeOn(Schedulers.computation())
|
.observeOn(Schedulers.computation())
|
||||||
.subscribe(testSubscriber);
|
.subscribe(testSubscriber);
|
||||||
|
|
||||||
//then
|
//then
|
||||||
testSubscriber.awaitTerminalEvent();
|
testSubscriber.awaitTerminalEvent();
|
||||||
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
assertTrue(testSubscriber
|
||||||
|
.getOnErrorEvents()
|
||||||
|
.size() == 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,14 +41,14 @@ public class RxJavaBackpressureTest {
|
|||||||
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
||||||
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
||||||
|
|
||||||
source.observeOn(Schedulers.computation())
|
source
|
||||||
|
.observeOn(Schedulers.computation())
|
||||||
.subscribe(testSubscriber);
|
.subscribe(testSubscriber);
|
||||||
|
|
||||||
//when
|
//when
|
||||||
for (int i = 0; i < 1_000_000; i++) {
|
IntStream
|
||||||
source.onNext(i);
|
.range(0, 1_000_000)
|
||||||
|
.forEach(source::onNext);
|
||||||
}
|
|
||||||
|
|
||||||
//then
|
//then
|
||||||
testSubscriber.awaitTerminalEvent();
|
testSubscriber.awaitTerminalEvent();
|
||||||
@ -58,17 +62,20 @@ public class RxJavaBackpressureTest {
|
|||||||
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
||||||
|
|
||||||
//when
|
//when
|
||||||
source.window(500)
|
source
|
||||||
|
.window(500)
|
||||||
.observeOn(Schedulers.computation())
|
.observeOn(Schedulers.computation())
|
||||||
.subscribe(testSubscriber);
|
.subscribe(testSubscriber);
|
||||||
|
|
||||||
for (int i = 0; i < 1_000; i++) {
|
IntStream
|
||||||
source.onNext(i);
|
.range(0, 1_000)
|
||||||
}
|
.forEach(source::onNext);
|
||||||
|
|
||||||
//then
|
//then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
assertTrue(testSubscriber
|
||||||
|
.getOnErrorEvents()
|
||||||
|
.size() == 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,21 +86,24 @@ public class RxJavaBackpressureTest {
|
|||||||
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
||||||
|
|
||||||
//when
|
//when
|
||||||
source.buffer(1024)
|
source
|
||||||
|
.buffer(1024)
|
||||||
.observeOn(Schedulers.computation())
|
.observeOn(Schedulers.computation())
|
||||||
.subscribe(testSubscriber);
|
.subscribe(testSubscriber);
|
||||||
|
|
||||||
for (int i = 0; i < 1_000; i++) {
|
IntStream
|
||||||
source.onNext(i);
|
.range(0, 1_000)
|
||||||
}
|
.forEach(source::onNext);
|
||||||
|
|
||||||
|
|
||||||
//then
|
//then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
assertTrue(testSubscriber
|
||||||
|
.getOnErrorEvents()
|
||||||
|
.size() == 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenHotObservable_whenSkippingOperationIsDefined_shouldNotThrowException() {
|
public void givenHotObservable_whenSkippingOperationIsDefined_shouldNotThrowException() {
|
||||||
//given
|
//given
|
||||||
@ -106,13 +116,16 @@ public class RxJavaBackpressureTest {
|
|||||||
.observeOn(Schedulers.computation())
|
.observeOn(Schedulers.computation())
|
||||||
.subscribe(testSubscriber);
|
.subscribe(testSubscriber);
|
||||||
|
|
||||||
for (int i = 0; i < 1_000; i++) {
|
IntStream
|
||||||
source.onNext(i);
|
.range(0, 1_000)
|
||||||
}
|
.forEach(source::onNext);
|
||||||
|
|
||||||
|
|
||||||
//then
|
//then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
assertTrue(testSubscriber
|
||||||
|
.getOnErrorEvents()
|
||||||
|
.size() == 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,34 +135,37 @@ public class RxJavaBackpressureTest {
|
|||||||
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
||||||
|
|
||||||
//when
|
//when
|
||||||
Observable.range(1, 1_000_000)
|
Observable
|
||||||
.onBackpressureBuffer(16, () -> {
|
.range(1, 1_000_000)
|
||||||
},
|
.onBackpressureBuffer(16, () -> {}, BackpressureOverflow.ON_OVERFLOW_DROP_OLDEST)
|
||||||
BackpressureOverflow.ON_OVERFLOW_DROP_OLDEST)
|
|
||||||
.observeOn(Schedulers.computation())
|
.observeOn(Schedulers.computation())
|
||||||
.subscribe(testSubscriber);
|
.subscribe(testSubscriber);
|
||||||
|
|
||||||
//then
|
//then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
assertTrue(testSubscriber
|
||||||
|
.getOnErrorEvents()
|
||||||
|
.size() == 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenHotObservable_whenOnBackpressureDropDefined_shouldNotThrowException() {
|
public void givenHotObservable_whenOnBackpressureDropDefined_shouldNotThrowException() {
|
||||||
//given
|
//given
|
||||||
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
||||||
|
|
||||||
//when
|
//when
|
||||||
Observable.range(1, 1_000_000)
|
Observable
|
||||||
|
.range(1, 1_000_000)
|
||||||
.onBackpressureDrop()
|
.onBackpressureDrop()
|
||||||
.observeOn(Schedulers.computation())
|
.observeOn(Schedulers.computation())
|
||||||
.subscribe(testSubscriber);
|
.subscribe(testSubscriber);
|
||||||
|
|
||||||
//then
|
//then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
assertTrue(testSubscriber
|
||||||
|
.getOnErrorEvents()
|
||||||
|
.size() == 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user