@Test
public void testOrElse() {

    final Result<String> defaultValue = Result.success("defaultValue");
    assertNotSame("success gets non-default",
            defaultValue, Result.success("success").orElse(() -> defaultValue));
    assertSame("failure gets default",
            defaultValue, Result.<String>failure("failure").orElse(() -> defaultValue));
}