Rename Result.maybeThen()
as Result.flatMapMaybe()
This commit is contained in:
parent
97e08ab4fa
commit
c64284872c
3 changed files with 18 additions and 14 deletions
|
@ -1,6 +1,10 @@
|
||||||
CHANGELOG
|
CHANGELOG
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
0.11.0
|
||||||
|
|
||||||
|
* Rename `Result.maybeThen()` as `Result.flatMapMaybe()`
|
||||||
|
|
||||||
0.10.0
|
0.10.0
|
||||||
------
|
------
|
||||||
|
|
||||||
|
|
|
@ -129,7 +129,7 @@ public interface Result<T> extends Functor<T, Result<?>> {
|
||||||
* @param <R> the type of the updated Result
|
* @param <R> the type of the updated Result
|
||||||
* @return a new Maybe within a Result
|
* @return a new Maybe within a Result
|
||||||
*/
|
*/
|
||||||
static <T, R> Result<Maybe<R>> maybeThen(Result<Maybe<T>> maybeResult, Function<Maybe<T>, Result<Maybe<R>>> f) {
|
static <T, R> Result<Maybe<R>> flatMapMaybe(Result<Maybe<T>> maybeResult, Function<Maybe<T>, Result<Maybe<R>>> f) {
|
||||||
return maybeResult.flatMap(f);
|
return maybeResult.flatMap(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -605,24 +605,24 @@ public class ResultTest implements WithAssertions {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void okayJust_whenMaybeThen_whereOkayJust_thenIsOkayJust() {
|
public void okayJust_whenFlatMapMaybe_whereOkayJust_thenIsOkayJust() {
|
||||||
//given
|
//given
|
||||||
final Result<Maybe<Integer>> okJust = Result.ok(Maybe.just(1));
|
final Result<Maybe<Integer>> okJust = Result.ok(Maybe.just(1));
|
||||||
//when
|
//when
|
||||||
final Result<Maybe<Integer>> result = Result.maybeThen(okJust, mv -> Result.ok(Maybe.just(2)));
|
final Result<Maybe<String>> result = Result.flatMapMaybe(okJust, maybe -> Result.ok(maybe.flatMap(v -> Maybe.just("2"))));
|
||||||
//then
|
//then
|
||||||
result.match(
|
result.match(
|
||||||
success -> assertThat(success.toOptional()).contains(2),
|
success -> assertThat(success.toOptional()).contains("2"),
|
||||||
error -> fail("Not an error")
|
error -> fail("Not an error")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void okayJust_whenMaybeThen_whereOkayNothing_thenIsOkayNothing() {
|
public void okayJust_whenFlatMapMaybe_whereOkayNothing_thenIsOkayNothing() {
|
||||||
//given
|
//given
|
||||||
final Result<Maybe<Integer>> okJust = Result.ok(Maybe.just(1));
|
final Result<Maybe<Integer>> okJust = Result.ok(Maybe.just(1));
|
||||||
//when
|
//when
|
||||||
final Result<Maybe<Integer>> result = Result.maybeThen(okJust, v -> Result.ok(Maybe.nothing()));
|
final Result<Maybe<String>> result = Result.flatMapMaybe(okJust, maybe -> Result.ok(maybe.flatMap(v -> Maybe.nothing())));
|
||||||
//then
|
//then
|
||||||
result.match(
|
result.match(
|
||||||
success -> assertThat(success.toOptional()).isEmpty(),
|
success -> assertThat(success.toOptional()).isEmpty(),
|
||||||
|
@ -631,12 +631,12 @@ public class ResultTest implements WithAssertions {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void okayJust_whenMaybeThen_whereError_thenIsError() {
|
public void okayJust_whenFlatMapMaybe_whereError_thenIsError() {
|
||||||
//given
|
//given
|
||||||
final Result<Maybe<Integer>> okJust = Result.ok(Maybe.just(1));
|
final Result<Maybe<Integer>> okJust = Result.ok(Maybe.just(1));
|
||||||
final RuntimeException exception = new RuntimeException();
|
final RuntimeException exception = new RuntimeException();
|
||||||
//when
|
//when
|
||||||
final Result<Maybe<Integer>> result = Result.maybeThen(okJust, v -> Result.error(exception));
|
final Result<Maybe<Integer>> result = Result.flatMapMaybe(okJust, v -> Result.error(exception));
|
||||||
//then
|
//then
|
||||||
result.match(
|
result.match(
|
||||||
success -> fail("Not a success"),
|
success -> fail("Not a success"),
|
||||||
|
@ -645,27 +645,27 @@ public class ResultTest implements WithAssertions {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void okayNothing_whenMaybeThen_thenDoNotApply() {
|
public void okayNothing_whenFlatMapMaybe_thenDoNotApply() {
|
||||||
//given
|
//given
|
||||||
final Result<Maybe<Integer>> okNothing = Result.ok(Maybe.nothing());
|
final Result<Maybe<Integer>> okNothing = Result.ok(Maybe.nothing());
|
||||||
//when
|
//when
|
||||||
final Result<Maybe<Integer>> result = Result.maybeThen(okNothing, v -> Result.ok(Maybe.just(2)));
|
final Result<Maybe<String>> result = Result.flatMapMaybe(okNothing, maybe -> Result.ok(maybe.flatMap(v -> Maybe.just("2"))));
|
||||||
//then
|
//then
|
||||||
okNothing.match(
|
result.match(
|
||||||
success -> assertThat(success.toOptional()).isEmpty(),
|
success -> assertThat(success.toOptional()).isEmpty(),
|
||||||
error -> fail("Not an error")
|
error -> fail("Not an error")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void error_whenMaybeThen_thenDoNotApply() {
|
public void error_whenFlatMapMaybe_thenDoNotApply() {
|
||||||
//given
|
//given
|
||||||
final RuntimeException exception = new RuntimeException();
|
final RuntimeException exception = new RuntimeException();
|
||||||
final Result<Maybe<Integer>> maybeResult = Result.error(exception);
|
final Result<Maybe<Integer>> maybeResult = Result.error(exception);
|
||||||
//when
|
//when
|
||||||
final Result<Maybe<Integer>> result = Result.maybeThen(maybeResult, v -> Result.ok(Maybe.just(2)));
|
final Result<Maybe<String>> result = Result.flatMapMaybe(maybeResult, maybe -> Result.ok(maybe.flatMap(v -> Maybe.just("2"))));
|
||||||
//then
|
//then
|
||||||
maybeResult.match(
|
result.match(
|
||||||
success -> fail("Not a success"),
|
success -> fail("Not a success"),
|
||||||
error -> assertThat(error).isSameAs(exception)
|
error -> assertThat(error).isSameAs(exception)
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue