X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FMocks.java;h=98de40971da4bb9f550f33047d7282a859b82f12;hb=479f6b7187938eb68d2f00d9e10394ceeb18e0c5;hp=21e5925bd4b213bbdecdb495df08cbc03fe13995;hpb=4834440b333d34a5cb4b365955489456cd0e5a0c;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/data/Mocks.java b/src/test/java/net/pterodactylus/sone/data/Mocks.java index 21e5925..98de409 100644 --- a/src/test/java/net/pterodactylus/sone/data/Mocks.java +++ b/src/test/java/net/pterodactylus/sone/data/Mocks.java @@ -17,6 +17,7 @@ package net.pterodactylus.sone.data; +import static com.google.common.base.Optional.absent; import static com.google.common.base.Optional.of; import static com.google.common.collect.ArrayListMultimap.create; import static com.google.common.collect.Ordering.from; @@ -89,12 +90,8 @@ public class Mocks { return new PostMocker(postId, sone); } - public PostReply mockPostReply(Sone sone, String replyId) { - PostReply postReply = mock(PostReply.class); - when(postReply.getId()).thenReturn(replyId); - when(postReply.getSone()).thenReturn(sone); - when(database.getPostReply(eq(replyId))).thenReturn(of(postReply)); - return postReply; + public PostReplyMocker mockPostReply(Sone sone, String replyId) { + return new PostReplyMocker(replyId, sone); } public class SoneMocker { @@ -171,4 +168,33 @@ public class Mocks { } + public class PostReplyMocker { + + private final PostReply postReply = mock(PostReply.class); + private final String id; + private final Sone sone; + private Optional post = absent(); + + public PostReplyMocker(String id, Sone sone) { + this.id = id; + this.sone = sone; + } + + public PostReplyMocker inReplyTo(Post post) { + this.post = of(post); + return this; + } + + public PostReply create() { + when(postReply.getId()).thenReturn(id); + when(postReply.getSone()).thenReturn(sone); + when(database.getPostReply(eq(id))).thenReturn(of(postReply)); + if (post.isPresent()) { + postReplies.put(post.get(), postReply); + } + return postReply; + } + + } + }