Beispiel #1
0
  @Test
  public void shouldLiftTryPartialFunction() {
    AtomicInteger integer = new AtomicInteger();
    Function5<Integer, Integer, Integer, Integer, Integer, Integer> divByZero =
        (i1, i2, i3, i4, i5) -> 10 / integer.get();
    Function5<Integer, Integer, Integer, Integer, Integer, Try<Integer>> divByZeroTry =
        Function5.liftTry(divByZero);

    Try<Integer> res = divByZeroTry.apply(0, 0, 0, 0, 0);
    assertThat(res.isFailure()).isTrue();
    assertThat(res.getCause()).isNotNull();
    assertThat(res.getCause().getMessage()).isEqualToIgnoringCase("/ by zero");

    integer.incrementAndGet();
    res = divByZeroTry.apply(1, 2, 3, 4, 5);
    assertThat(res.isSuccess()).isTrue();
    assertThat(res.get()).isEqualTo(10);
  }