public void assert_failure() { Result<String> test = Result.failure(new IllegalArgumentException("failure")); assertThat(test) .isFailure(ERROR) .hasFailureMessageMatching("failure"); }
public void success_map_throwing() { Result<String> success = Result.success("success"); Result<Integer> test = success.map(r -> { throw new IllegalArgumentException("Big bad error"); }); assertEquals(test.isSuccess(), false); assertThat(test) .isFailure(ERROR) .hasFailureMessageMatching("Big bad error"); }
public void success_flatMap_throwing() { Result<String> success = Result.success("success"); Result<Integer> test = success.flatMap(r -> { throw new IllegalArgumentException("Big bad error"); }); assertEquals(test.isSuccess(), false); assertThat(test) .isFailure(ERROR) .hasFailureMessageMatching("Big bad error"); }
public void success_combineWith_success_throws() { Result<String> success1 = Result.success("Hello"); Result<String> success2 = Result.success("World"); Result<String> test = success1.combineWith(success2, (s1, s2) -> { throw new IllegalArgumentException("Ooops"); }); assertThat(test) .isFailure() .hasFailureMessageMatching("Ooops"); }
public void flatCombine_iterableWithSuccesses_combineThrows() { Result<Integer> success1 = Result.success(1); Result<Integer> success2 = Result.success(2); Result<Integer> success3 = Result.success(3); Result<Integer> success4 = Result.success(4); Set<Result<Integer>> results = ImmutableSet.of(success1, success2, success3, success4); Result<String> combined = Result.flatCombine( results, s -> { throw new IllegalArgumentException("Ooops"); }); assertThat(combined) .isFailure(ERROR) .hasFailureMessageMatching("Ooops"); }
public void combine_iterableWithSuccesses_throws() { Result<Integer> success1 = Result.success(1); Result<Integer> success2 = Result.success(2); Result<Integer> success3 = Result.success(3); Result<Integer> success4 = Result.success(4); Set<Result<Integer>> results = ImmutableSet.of(success1, success2, success3, success4); Result<String> combined = Result.combine( results, s -> { throw new IllegalArgumentException("Ooops"); }); assertThat(combined) .isFailure(ERROR) .hasFailureMessageMatching("Ooops"); }