X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FConfigurationLoaderTest.java;h=55b66eec5a8b437796e5a2f9ed6911ff02db3de2;hb=723de3522aa5c04634932f05bf4075304979c7a9;hp=6449b43f9f453dacde271cf3982b8a506520d016;hpb=f1430dd9fb3ff91b2dc93956e79ca2f2ad6cb1fb;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/database/memory/ConfigurationLoaderTest.java b/src/test/java/net/pterodactylus/sone/database/memory/ConfigurationLoaderTest.java index 6449b43..55b66ee 100644 --- a/src/test/java/net/pterodactylus/sone/database/memory/ConfigurationLoaderTest.java +++ b/src/test/java/net/pterodactylus/sone/database/memory/ConfigurationLoaderTest.java @@ -1,14 +1,18 @@ package net.pterodactylus.sone.database.memory; +import static java.util.Arrays.asList; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsInAnyOrder; +import static org.hamcrest.Matchers.nullValue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import java.util.HashSet; import java.util.Set; import net.pterodactylus.sone.TestValue; import net.pterodactylus.util.config.Configuration; +import net.pterodactylus.util.config.ConfigurationException; import org.junit.Test; @@ -35,4 +39,49 @@ public class ConfigurationLoaderTest { assertThat(knownPosts, containsInAnyOrder("Post1", "Post2")); } + @Test + public void loaderCanLoadKnownPostReplies() { + when(configuration.getStringValue("KnownReplies/0/ID")) + .thenReturn(new TestValue("PostReply2")); + when(configuration.getStringValue("KnownReplies/1/ID")) + .thenReturn(new TestValue("PostReply1")); + when(configuration.getStringValue("KnownReplies/2/ID")) + .thenReturn(new TestValue(null)); + Set knownPosts = configurationLoader.loadKnownPostReplies(); + assertThat(knownPosts, + containsInAnyOrder("PostReply1", "PostReply2")); + } + + @Test + public void loaderCanLoadBookmarkedPosts() { + when(configuration.getStringValue("Bookmarks/Post/0/ID")) + .thenReturn(new TestValue("Post2")); + when(configuration.getStringValue("Bookmarks/Post/1/ID")) + .thenReturn(new TestValue("Post1")); + when(configuration.getStringValue("Bookmarks/Post/2/ID")) + .thenReturn(new TestValue(null)); + Set knownPosts = configurationLoader.loadBookmarkedPosts(); + assertThat(knownPosts, containsInAnyOrder("Post1", "Post2")); + } + + @Test + public void loaderCanSaveBookmarkedPosts() throws ConfigurationException { + final TestValue post1 = new TestValue(null); + final TestValue post2 = new TestValue(null); + final TestValue post3 = new TestValue(null); + when(configuration.getStringValue("Bookmarks/Post/0/ID")) + .thenReturn(post1); + when(configuration.getStringValue("Bookmarks/Post/1/ID")) + .thenReturn(post2); + when(configuration.getStringValue("Bookmarks/Post/2/ID")) + .thenReturn(post3); + HashSet originalPosts = + new HashSet(asList("Post1", "Post2")); + configurationLoader.saveBookmarkedPosts(originalPosts); + HashSet extractedPosts = new HashSet( + asList(post1.getValue(), post2.getValue())); + assertThat(extractedPosts, containsInAnyOrder("Post1", "Post2")); + assertThat(post3.getValue(), nullValue()); + } + }