use of javaslang.control.Try in project javaslang by javaslang.
the class Function8Test method shouldLiftTryPartialFunction.
@Test
public void shouldLiftTryPartialFunction() {
AtomicInteger integer = new AtomicInteger();
Function8<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer> divByZero = (i1, i2, i3, i4, i5, i6, i7, i8) -> 10 / integer.get();
Function8<Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Try<Integer>> divByZeroTry = Function8.liftTry(divByZero);
Try<Integer> res = divByZeroTry.apply(0, 0, 0, 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, 6, 7, 8);
assertThat(res.isSuccess()).isTrue();
assertThat(res.get()).isEqualTo(10);
}
Aggregations