@Test
  public void supplierReturnsNull() {
    AssertSubscriber<Integer> ts = AssertSubscriber.create();

    Flux.range(1, 10).<Integer>reduceWith(() -> null, (a, b) -> b).subscribe(ts);

    ts.assertNoValues().assertNotComplete().assertError(NullPointerException.class);
  }
  @Test
  public void normalBackpressured() {
    AssertSubscriber<Integer> ts = AssertSubscriber.create(0);

    Flux.range(1, 10).reduceWith(() -> 0, (a, b) -> b).subscribe(ts);

    ts.assertNoValues().assertNoError().assertNotComplete();

    ts.request(2);

    ts.assertValues(10).assertComplete().assertNoError();
  }
Esempio n. 3
0
  @Test
  public void predicateThrows() {
    AssertSubscriber<Integer> ts = AssertSubscriber.create(2);

    Flux.range(1, 10)
        .filter(
            v -> {
              throw new RuntimeException("forced failure");
            })
        .subscribe(ts);

    ts.assertNoValues()
        .assertNotComplete()
        .assertError(RuntimeException.class)
        .assertErrorMessage("forced failure");
  }
  @Test
  public void accumulatorThrows() {
    AssertSubscriber<Integer> ts = AssertSubscriber.create();

    Flux.range(1, 10)
        .reduceWith(
            () -> 0,
            (a, b) -> {
              throw new RuntimeException("forced failure");
            })
        .subscribe(ts);

    ts.assertNoValues()
        .assertNotComplete()
        .assertError(RuntimeException.class)
        .assertErrorWith(e -> Assert.assertTrue(e.getMessage().contains("forced failure")));
  }