From 73ba74461ca2dd1da89f322aa87035f710fe4865 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Thu, 6 Aug 2020 20:57:08 +0200 Subject: [PATCH] =?utf8?q?=F0=9F=8E=A8=20Replace=20test=20post=20builder?= =?utf8?q?=20with=20Kotlin=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../pterodactylus/sone/test/TestPostBuilder.java | 76 ---------------------- .../net/pterodactylus/sone/test/TestPostBuilder.kt | 54 +++++++++++++++ 2 files changed, 54 insertions(+), 76 deletions(-) delete mode 100644 src/test/java/net/pterodactylus/sone/test/TestPostBuilder.java create mode 100644 src/test/kotlin/net/pterodactylus/sone/test/TestPostBuilder.kt diff --git a/src/test/java/net/pterodactylus/sone/test/TestPostBuilder.java b/src/test/java/net/pterodactylus/sone/test/TestPostBuilder.java deleted file mode 100644 index 6cb7828..0000000 --- a/src/test/java/net/pterodactylus/sone/test/TestPostBuilder.java +++ /dev/null @@ -1,76 +0,0 @@ -package net.pterodactylus.sone.test; - -import static com.google.common.base.Optional.fromNullable; -import static java.lang.System.currentTimeMillis; -import static java.util.UUID.randomUUID; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import net.pterodactylus.sone.data.Post; -import net.pterodactylus.sone.data.Sone; -import net.pterodactylus.sone.database.PostBuilder; - -/** - * {@link PostBuilder} implementation that returns a mocked {@link Post}. - */ -public class TestPostBuilder implements PostBuilder { - - private final Post post = mock(Post.class); - private String recipientId = null; - - @Override - public PostBuilder copyPost(Post post) throws NullPointerException { - return this; - } - - @Override - public PostBuilder from(String senderId) { - final Sone sone = mock(Sone.class); - when(sone.getId()).thenReturn(senderId); - when(post.getSone()).thenReturn(sone); - return this; - } - - @Override - public PostBuilder randomId() { - when(post.getId()).thenReturn(randomUUID().toString()); - return this; - } - - @Override - public PostBuilder withId(String id) { - when(post.getId()).thenReturn(id); - return this; - } - - @Override - public PostBuilder currentTime() { - when(post.getTime()).thenReturn(currentTimeMillis()); - return this; - } - - @Override - public PostBuilder withTime(long time) { - when(post.getTime()).thenReturn(time); - return this; - } - - @Override - public PostBuilder withText(String text) { - when(post.getText()).thenReturn(text); - return this; - } - - @Override - public PostBuilder to(String recipientId) { - this.recipientId = recipientId; - return this; - } - - @Override - public Post build() throws IllegalStateException { - when(post.getRecipientId()).thenReturn(fromNullable(recipientId)); - return post; - } - -} diff --git a/src/test/kotlin/net/pterodactylus/sone/test/TestPostBuilder.kt b/src/test/kotlin/net/pterodactylus/sone/test/TestPostBuilder.kt new file mode 100644 index 0000000..4c9efe7 --- /dev/null +++ b/src/test/kotlin/net/pterodactylus/sone/test/TestPostBuilder.kt @@ -0,0 +1,54 @@ +package net.pterodactylus.sone.test + +import com.google.common.base.Optional +import net.pterodactylus.sone.data.Post +import net.pterodactylus.sone.data.Sone +import net.pterodactylus.sone.database.PostBuilder +import java.util.UUID + +/** + * [PostBuilder] implementation that returns a mocked [Post]. + */ +class TestPostBuilder : PostBuilder { + + private val post = mock() + private var recipientId: String? = null + + override fun copyPost(post: Post): PostBuilder = this + + override fun from(senderId: String): PostBuilder = apply { + val sone = mock() + whenever(sone.id).thenReturn(senderId) + whenever(post.sone).thenReturn(sone) + } + + override fun randomId(): PostBuilder = apply { + whenever(post.id).thenReturn(UUID.randomUUID().toString()) + } + + override fun withId(id: String): PostBuilder = apply { + whenever(post.id).thenReturn(id) + } + + override fun currentTime(): PostBuilder = apply { + whenever(post.time).thenReturn(System.currentTimeMillis()) + } + + override fun withTime(time: Long): PostBuilder = apply { + whenever(post.time).thenReturn(time) + } + + override fun withText(text: String): PostBuilder = apply { + whenever(post.text).thenReturn(text) + } + + override fun to(recipientId: String): PostBuilder = apply { + this.recipientId = recipientId + } + + override fun build(): Post = post + .also { + whenever(post.recipientId).thenReturn(Optional.fromNullable(recipientId)) + } + +} -- 2.7.4