X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FMemoryDatabaseTest.java;h=db18cd2aa7fdb769e8b7d3b659a97de2c9e9fdd5;hp=73e63dd0cb4b1fbf80d3692aafcc7f1c0763bfa4;hb=ebd842a2ffdd117073401ce0f47a7dfd598c7a61;hpb=51ab7efd1f6376f9d7a27b63a121262a9cef9cb0 diff --git a/src/test/java/net/pterodactylus/sone/database/memory/MemoryDatabaseTest.java b/src/test/java/net/pterodactylus/sone/database/memory/MemoryDatabaseTest.java index 73e63dd..db18cd2 100644 --- a/src/test/java/net/pterodactylus/sone/database/memory/MemoryDatabaseTest.java +++ b/src/test/java/net/pterodactylus/sone/database/memory/MemoryDatabaseTest.java @@ -28,6 +28,7 @@ import static org.mockito.Mockito.when; import net.pterodactylus.sone.data.Album; import net.pterodactylus.sone.data.AlbumImpl; import net.pterodactylus.sone.data.Post; +import net.pterodactylus.sone.data.PostReply; import net.pterodactylus.sone.data.Sone; import com.google.common.base.Optional; @@ -70,6 +71,34 @@ public class MemoryDatabaseTest { } @Test + public void postRepliesAreManagedCorrectly() { + Post firstPost = createPost(Optional.absent()); + PostReply firstPostFirstReply = createPostReply(firstPost, 1000L); + Post secondPost = createPost(Optional.absent()); + PostReply secondPostFirstReply = createPostReply(secondPost, 1000L); + PostReply secondPostSecondReply = createPostReply(secondPost, 2000L); + memoryDatabase.storePost(firstPost); + memoryDatabase.storePost(secondPost); + memoryDatabase.storePostReply(firstPostFirstReply); + memoryDatabase.storePostReply(secondPostFirstReply); + memoryDatabase.storePostReply(secondPostSecondReply); + assertThat(memoryDatabase.getReplies(firstPost.getId()), + contains(firstPostFirstReply)); + assertThat(memoryDatabase.getReplies(secondPost.getId()), + contains(secondPostFirstReply, secondPostSecondReply)); + } + + private PostReply createPostReply(Post post, long time) { + PostReply postReply = mock(PostReply.class); + when(postReply.getId()).thenReturn(randomUUID().toString()); + when(postReply.getTime()).thenReturn(time); + when(postReply.getPost()).thenReturn(of(post)); + final String postId = post.getId(); + when(postReply.getPostId()).thenReturn(postId); + return postReply; + } + + @Test public void testBasicAlbumFunctionality() { Album newAlbum = new AlbumImpl(mock(Sone.class)); assertThat(memoryDatabase.getAlbum(newAlbum.getId()), is(Optional.absent()));