Пример #1
0
  @Test
  public void normal() {
    AssertSubscriber<Integer> ts = AssertSubscriber.create();

    Flux.range(1, 10).filter(v -> v % 2 == 0).subscribe(ts);

    ts.assertValues(2, 4, 6, 8, 10).assertComplete().assertNoError();
  }
Пример #2
0
  @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);
  }
Пример #3
0
  @Test
  public void normal() {
    AssertSubscriber<Integer> ts = AssertSubscriber.create();

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

    ts.assertValues(10).assertComplete().assertNoError();
  }
Пример #4
0
  @Test
  public void syncFusion() {
    AssertSubscriber<Object> ts = AssertSubscriber.create();

    Flux.range(1, 10).filter(v -> (v & 1) == 0).subscribe(ts);

    ts.assertValues(2, 4, 6, 8, 10).assertNoError().assertComplete();
  }
Пример #5
0
  @Test
  public void normalBackpressuredArray() {
    AssertSubscriber<Integer> ts = AssertSubscriber.create(2);

    Flux.just(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).filter(v -> v % 2 == 0).subscribe(ts);

    ts.assertValues(2, 4).assertNotComplete().assertNoError();

    ts.request(10);

    ts.assertValues(2, 4, 6, 8, 10).assertComplete().assertNoError();
  }
Пример #6
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");
  }
Пример #7
0
  @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")));
  }
Пример #8
0
  @Test
  public void asyncFusionBackpressured2() {
    AssertSubscriber<Object> ts = AssertSubscriber.create(1);

    UnicastProcessor<Integer> up = UnicastProcessor.create(new ConcurrentLinkedQueue<>());

    Flux.just(1).hide().flatMap(w -> up.filter(v -> (v & 1) == 0), false, 1, 1).subscribe(ts);

    up.onNext(1);
    up.onNext(2);

    ts.assertValues(2).assertNoError().assertNotComplete();

    up.onComplete();

    ts.assertValues(2).assertNoError().assertComplete();
  }
Пример #9
0
 @Test(expected = NullPointerException.class)
 public void predicateNull() {
   Flux.never().filter(null);
 }