From a7eb7bf8e0285f9da28c75026f5ad2f4e36c0a37 Mon Sep 17 00:00:00 2001 From: kwoyke Date: Thu, 4 Apr 2019 18:43:36 +0200 Subject: [PATCH] BAEL-2820 Transforming Optional of an Empty String into Empty Optional (#6634) --- core-java-11/pom.xml | 9 ++++++ .../EmptyStringToEmptyOptionalUnitTest.java | 32 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 core-java-11/src/test/java/com/baeldung/EmptyStringToEmptyOptionalUnitTest.java diff --git a/core-java-11/pom.xml b/core-java-11/pom.xml index a9776d8f3b..933acdbecc 100644 --- a/core-java-11/pom.xml +++ b/core-java-11/pom.xml @@ -14,6 +14,14 @@ 1.0.0-SNAPSHOT + + + com.google.guava + guava + ${guava.version} + + + @@ -31,6 +39,7 @@ 11 11 + 27.1-jre diff --git a/core-java-11/src/test/java/com/baeldung/EmptyStringToEmptyOptionalUnitTest.java b/core-java-11/src/test/java/com/baeldung/EmptyStringToEmptyOptionalUnitTest.java new file mode 100644 index 0000000000..cc429209d4 --- /dev/null +++ b/core-java-11/src/test/java/com/baeldung/EmptyStringToEmptyOptionalUnitTest.java @@ -0,0 +1,32 @@ +package com.baeldung; + +import com.google.common.base.Strings; +import org.junit.Assert; +import org.junit.Test; + +import java.util.Optional; +import java.util.function.Predicate; + +public class EmptyStringToEmptyOptionalUnitTest { + + @Test + public void givenEmptyString_whenFilteringOnOptional_thenEmptyOptionalIsReturned() { + String str = ""; + Optional opt = Optional.ofNullable(str).filter(s -> !s.isEmpty()); + Assert.assertFalse(opt.isPresent()); + } + + @Test + public void givenEmptyString_whenFilteringOnOptionalInJava11_thenEmptyOptionalIsReturned() { + String str = ""; + Optional opt = Optional.ofNullable(str).filter(Predicate.not(String::isEmpty)); + Assert.assertFalse(opt.isPresent()); + } + + @Test + public void givenEmptyString_whenPassingResultOfEmptyToNullToOfNullable_thenEmptyOptionalIsReturned() { + String str = ""; + Optional opt = Optional.ofNullable(Strings.emptyToNull(str)); + Assert.assertFalse(opt.isPresent()); + } +}