@Test public void cancel() { final EmitterProcessor<Boolean> pp = EmitterProcessor.create(); StepVerifier.create(Mono.just(1) .filterWhen(v -> pp)) .thenCancel(); assertThat(pp.hasDownstreams()).isFalse(); }
@Test public void cancel() { final EmitterProcessor<Boolean> pp = EmitterProcessor.create(); StepVerifier.create(Flux.range(1, 5) .filterWhen(v -> pp, 16)) .thenCancel(); assertThat(pp.hasDownstreams()).isFalse(); }
@Test public void normalBackpressured() { EmitterProcessor<Integer> tp = EmitterProcessor.create(); StepVerifier.create(tp, 0L) .then(() -> { Assert.assertTrue("No subscribers?", tp.hasDownstreams()); Assert.assertFalse("Completed?", tp.isTerminated()); Assert.assertNull("Has error?", tp.getError()); }) .then(() -> { tp.onNext(1); tp.onNext(2); tp.onComplete(); }) .thenRequest(10L) .expectNext(1, 2) .expectComplete() .verify(); Assert.assertFalse("Subscribers present?", tp.hasDownstreams()); Assert.assertTrue("Not completed?", tp.isTerminated()); Assert.assertNull("Has error?", tp.getError()); }
@Test public void normalAtomicRingBufferBackpressured() { EmitterProcessor<Integer> tp = EmitterProcessor.create(100); StepVerifier.create(tp, 0L) .then(() -> { Assert.assertTrue("No subscribers?", tp.hasDownstreams()); Assert.assertFalse("Completed?", tp.isTerminated()); Assert.assertNull("Has error?", tp.getError()); }) .then(() -> { tp.onNext(1); tp.onNext(2); tp.onComplete(); }) .thenRequest(10L) .expectNext(1, 2) .expectComplete() .verify(); Assert.assertFalse("Subscribers present?", tp.hasDownstreams()); Assert.assertTrue("Not completed?", tp.isTerminated()); Assert.assertNull("Has error?", tp.getError()); }
@Test public void normal() { EmitterProcessor<Integer> tp = EmitterProcessor.create(); StepVerifier.create(tp) .then(() -> { Assert.assertTrue("No subscribers?", tp.hasDownstreams()); Assert.assertFalse("Completed?", tp.isTerminated()); Assert.assertNull("Has error?", tp.getError()); }) .then(() -> { tp.onNext(1); tp.onNext(2); }) .expectNext(1, 2) .then(() -> { tp.onNext(3); tp.onComplete(); }) .expectNext(3) .expectComplete() .verify(); Assert.assertFalse("Subscribers present?", tp.hasDownstreams()); Assert.assertTrue("Not completed?", tp.isTerminated()); Assert.assertNull("Has error?", tp.getError()); }