From: David ‘Bombe’ Roden Date: Thu, 21 Feb 2019 06:04:52 +0000 (+0100) Subject: Don’t hand in null to function not allowing it X-Git-Tag: v79^2~113 X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=commitdiff_plain;h=242da074894d2ffcbb1a61f16ed881db9bc51ff0 Don’t hand in null to function not allowing it --- diff --git a/src/main/java/net/pterodactylus/sone/database/memory/MemoryPost.java b/src/main/java/net/pterodactylus/sone/database/memory/MemoryPost.java index e0f83c2..75eae49 100644 --- a/src/main/java/net/pterodactylus/sone/database/memory/MemoryPost.java +++ b/src/main/java/net/pterodactylus/sone/database/memory/MemoryPost.java @@ -21,10 +21,13 @@ import static com.google.common.base.Optional.fromNullable; import java.util.UUID; +import javax.annotation.Nullable; + import net.pterodactylus.sone.data.Post; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.database.SoneProvider; +import com.google.common.base.Function; import com.google.common.base.Optional; /** @@ -120,7 +123,13 @@ class MemoryPost implements Post { */ @Override public Optional getRecipient() { - return fromNullable(soneProvider.getSone(recipientId)); + return Optional.fromNullable(recipientId).transform(new Function() { + @Nullable + @Override + public Sone apply(String input) { + return soneProvider.getSone(input); + } + }); } /** diff --git a/src/test/kotlin/net/pterodactylus/sone/database/memory/MemoryPostTest.kt b/src/test/kotlin/net/pterodactylus/sone/database/memory/MemoryPostTest.kt new file mode 100644 index 0000000..611ad70 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/database/memory/MemoryPostTest.kt @@ -0,0 +1,19 @@ +package net.pterodactylus.sone.database.memory + +import com.google.common.base.Optional.* +import net.pterodactylus.sone.test.* +import org.hamcrest.MatcherAssert.* +import org.hamcrest.Matchers.* +import org.junit.* +import java.util.* + +class MemoryPostTest { + + @Test + fun `memory post returns empty optional for post without recipient`() { + val postDatabase = mock() + val memoryPost = MemoryPost(postDatabase, postDatabase, UUID.randomUUID().toString(), "soneId", null, 123, "text") + assertThat(memoryPost.recipient, equalTo(absent())) + } + +}