From 6b9de9617c24ec620bf35fecb3f38b589fd79aef Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Fri, 3 Jan 2025 13:30:41 +0100 Subject: [PATCH] =?utf8?q?=E2=9C=85=20Add=20tests=20for=20LoadPlugin?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../java/net/pterodactylus/fcp/LoadPluginTest.java | 65 ++++++++++++++++++++++ .../net/pterodactylus/fcp/test/MessageTests.java | 10 ++++ 2 files changed, 75 insertions(+) create mode 100644 src/test/java/net/pterodactylus/fcp/LoadPluginTest.java diff --git a/src/test/java/net/pterodactylus/fcp/LoadPluginTest.java b/src/test/java/net/pterodactylus/fcp/LoadPluginTest.java new file mode 100644 index 0000000..512869a --- /dev/null +++ b/src/test/java/net/pterodactylus/fcp/LoadPluginTest.java @@ -0,0 +1,65 @@ +package net.pterodactylus.fcp; + +import org.junit.Test; + +import static net.pterodactylus.fcp.test.MessageTests.verifyFieldValueAfterSettingFlag; +import static net.pterodactylus.fcp.test.MessageTests.verifyFieldValueAfterSettingProperty; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.equalToIgnoringCase; + +public class LoadPluginTest { + + @Test + public void loadPluginSetsIdentifier() { + assertThat(loadPlugin.getField("Identifier"), equalTo("identifier")); + } + + @Test + public void settingPluginUrlWillSetField() { + verifyFieldValueAfterSettingProperty(loadPlugin, LoadPlugin::setPluginUrl, "PluginURL", "plugin-url"); + } + + @Test + public void settingUrlTypeToOfficialSetsCorrectField() { + verifyFieldValueAfterSettingProperty(loadPlugin, LoadPlugin::setUrlType, "URLType", LoadPlugin.UrlType.OFFICIAL, equalToIgnoringCase("official")); + } + + @Test + public void settingUrlTypeToFileSetsCorrectField() { + verifyFieldValueAfterSettingProperty(loadPlugin, LoadPlugin::setUrlType, "URLType", LoadPlugin.UrlType.FILE, equalToIgnoringCase("file")); + } + + @Test + public void settingUrlTypeToFreenetSetsCorrectField() { + verifyFieldValueAfterSettingProperty(loadPlugin, LoadPlugin::setUrlType, "URLType", LoadPlugin.UrlType.FREENET, equalToIgnoringCase("freenet")); + } + + @Test + public void settingUrlTypeToUrlSetsCorrectField() { + verifyFieldValueAfterSettingProperty(loadPlugin, LoadPlugin::setUrlType, "URLType", LoadPlugin.UrlType.URL, equalToIgnoringCase("url")); + } + + @Test + public void settingStoreToFalseSetsStoreFieldToFalse() { + verifyFieldValueAfterSettingFlag(loadPlugin, LoadPlugin::setStore, "Store", false); + } + + @Test + public void settingStoreToTrueSetsStoreFieldToTrue() { + verifyFieldValueAfterSettingFlag(loadPlugin, LoadPlugin::setStore, "Store", true); + } + + @Test + public void settingOfficialSourceToFreenetSetsCorrectField() { + verifyFieldValueAfterSettingProperty(loadPlugin, LoadPlugin::setOfficialSource, "OfficialSource", LoadPlugin.OfficialSource.FREENET, equalToIgnoringCase("freenet")); + } + + @Test + public void settingOfficialSourceToHttpsSetsCorrectField() { + verifyFieldValueAfterSettingProperty(loadPlugin, LoadPlugin::setOfficialSource, "OfficialSource", LoadPlugin.OfficialSource.HTTPS, equalToIgnoringCase("https")); + } + + private final LoadPlugin loadPlugin = new LoadPlugin("identifier"); + +} diff --git a/src/test/java/net/pterodactylus/fcp/test/MessageTests.java b/src/test/java/net/pterodactylus/fcp/test/MessageTests.java index 6249a84..77b16b5 100644 --- a/src/test/java/net/pterodactylus/fcp/test/MessageTests.java +++ b/src/test/java/net/pterodactylus/fcp/test/MessageTests.java @@ -1,6 +1,7 @@ package net.pterodactylus.fcp.test; import net.pterodactylus.fcp.FcpMessage; +import org.hamcrest.Matcher; import java.util.function.BiConsumer; import java.util.function.Function; @@ -19,4 +20,13 @@ public class MessageTests { verifyPropertyAfterSettingFlag(message, setter, m -> m.getField(fieldName), false); } + public static void verifyFieldValueAfterSettingProperty(M message, BiConsumer setter, String fieldName, String value) { + verifyFieldValueAfterSettingProperty(message, setter, fieldName, value, equalTo(value)); + } + + public static void verifyFieldValueAfterSettingProperty(M message, BiConsumer setter, String fieldName, V value, Matcher matcher) { + setter.accept(message, value); + assertThat(message.getField(fieldName), matcher); + } + } -- 2.7.4