Search in sources :

Example 11 with Try

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);
}
Also used : CharSequence(java.lang.CharSequence) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) Test(org.junit.Test) Try(javaslang.control.Try) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Try(javaslang.control.Try) Test(org.junit.Test)

Aggregations

Try (javaslang.control.Try)11 Test (org.junit.Test)11 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)10 CharSequence (java.lang.CharSequence)8 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)8 InvalidObjectException (java.io.InvalidObjectException)1 BigDecimal (java.math.BigDecimal)1 MessageDigest (java.security.MessageDigest)1 ArrayList (java.util.ArrayList)1 Spliterator (java.util.Spliterator)1 BiFunction (java.util.function.BiFunction)1 Function (java.util.function.Function)1 Predicate (java.util.function.Predicate)1 Supplier (java.util.function.Supplier)1 Collector (java.util.stream.Collector)1 javaslang (javaslang)1 Stream.concat (javaslang.collection.Stream.concat)1 Option (javaslang.control.Option)1 Ignore (org.junit.Ignore)1