From 9b343be45ecb36315a5187c94a7350a9a2a2eab5 Mon Sep 17 00:00:00 2001 From: Kacper Date: Fri, 24 Aug 2018 13:18:30 +0200 Subject: [PATCH] BAEL-2122 Optional or else throw (#5047) * Throw and throws in Java * BAEL-2122 | throw exception in optional * BAEL-2122 | optional orelsethrow --- .../baeldung/throwsexception/PersonRepository.java | 2 +- .../throwsexception/PersonRepositoryUnitTest.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/core-java/src/main/java/com/baeldung/throwsexception/PersonRepository.java b/core-java/src/main/java/com/baeldung/throwsexception/PersonRepository.java index 5fcbeb3d5f..a3e69b7f6f 100644 --- a/core-java/src/main/java/com/baeldung/throwsexception/PersonRepository.java +++ b/core-java/src/main/java/com/baeldung/throwsexception/PersonRepository.java @@ -8,7 +8,7 @@ public class PersonRepository { @Nullable public String findNameById(String id) { - return id == null ? null : "example-name"; + return id == null ? null : "Name"; } public List findAll() throws SQLException { diff --git a/core-java/src/test/java/com/baeldung/throwsexception/PersonRepositoryUnitTest.java b/core-java/src/test/java/com/baeldung/throwsexception/PersonRepositoryUnitTest.java index 6294d40090..0d1859fb1a 100644 --- a/core-java/src/test/java/com/baeldung/throwsexception/PersonRepositoryUnitTest.java +++ b/core-java/src/test/java/com/baeldung/throwsexception/PersonRepositoryUnitTest.java @@ -4,6 +4,7 @@ import org.junit.Test; import java.util.Optional; +import static org.junit.Assert.assertEquals; import static org.junit.jupiter.api.Assertions.assertAll; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -29,4 +30,14 @@ public class PersonRepositoryUnitTest { .orElseThrow(Exception::new)); } + @Test + public void whenIdIsNonNull_thenShouldReturnNameUpperCase() throws Exception { + String name = Optional + .ofNullable(personRepository.findNameById("id")) + .map(String::toUpperCase) + .orElseThrow(Exception::new); + + assertEquals("NAME", name); + } + } \ No newline at end of file