X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FConfigurationLoaderTest.java;h=41bc593730c318eb105b9297bb59eee39a67f646;hb=b282ae4881da1f8329fded3369bc08d6aaee6e7b;hp=47e26b7a70a31aed5be44b547b645b8bc1f29d9c;hpb=1a3f2a00bb5180470db1515e646615dff2744e39;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 47e26b7..41bc593 100644 --- a/src/test/java/net/pterodactylus/sone/database/memory/ConfigurationLoaderTest.java +++ b/src/test/java/net/pterodactylus/sone/database/memory/ConfigurationLoaderTest.java @@ -3,11 +3,16 @@ 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.is; import static org.hamcrest.Matchers.nullValue; +import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.Map; import java.util.Set; import net.pterodactylus.sone.TestValue; @@ -16,6 +21,8 @@ import net.pterodactylus.util.config.ConfigurationException; import net.pterodactylus.util.config.Value; import org.junit.Test; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; /** * Unit test for {@link ConfigurationLoader}. @@ -41,6 +48,29 @@ public class ConfigurationLoaderTest { } @Test + public void loaderCanSaveKnownPosts() throws ConfigurationException { + Map> configurationValues = prepareConfigurationValues(); + HashSet originalPosts = new LinkedHashSet(asList("Post1", "Post2")); + configurationLoader.saveKnownPosts(originalPosts); + assertThat(configurationValues.get("KnownPosts/0/ID").getValue(), is("Post1")); + assertThat(configurationValues.get("KnownPosts/1/ID").getValue(), is("Post2")); + assertThat(configurationValues.get("KnownPosts/2/ID").getValue(), nullValue()); + } + + private Map> prepareConfigurationValues() { + final Map> configurationValues = new HashMap>(); + when(configuration.getStringValue(anyString())).thenAnswer(new Answer>() { + @Override + public Value answer(InvocationOnMock invocation) throws Throwable { + Value stringValue = TestValue.from(null); + configurationValues.put((String) invocation.getArguments()[0], stringValue); + return stringValue; + } + }); + return configurationValues; + } + + @Test public void loaderCanLoadKnownPostReplies() { when(configuration.getStringValue("KnownReplies/0/ID")) .thenReturn(TestValue.from("PostReply2"));