From: David ‘Bombe’ Roden Date: Wed, 1 Jan 2025 20:53:09 +0000 (+0100) Subject: ✅ Add test for GetPluginInfo X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=b99878f037e2b3ab7299e51ac4dafb177ea6b4ba;p=jFCPlib.git ✅ Add test for GetPluginInfo --- diff --git a/src/test/java/net/pterodactylus/fcp/GetPluginInfoTest.java b/src/test/java/net/pterodactylus/fcp/GetPluginInfoTest.java new file mode 100644 index 0000000..dab69de --- /dev/null +++ b/src/test/java/net/pterodactylus/fcp/GetPluginInfoTest.java @@ -0,0 +1,56 @@ +package net.pterodactylus.fcp; + +import org.junit.Test; + +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Function; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.nullValue; + +public class GetPluginInfoTest { + + @Test + public void getPluginInfoWithoutPluginNameHasCorrectName() { + GetPluginInfo getPluginInfo = new GetPluginInfo("test-identifier"); + assertThat(getPluginInfo.getName(), equalTo("GetPluginInfo")); + } + + @Test + public void getPluginInfoWithPluginNameHasCorrectName() { + GetPluginInfo getPluginInfo = new GetPluginInfo("test.Plugin", "test-identifier"); + assertThat(getPluginInfo.getName(), equalTo("GetPluginInfo")); + } + + @Test + public void newGetPluginInfoHasNoDetailedField() { + GetPluginInfo getPluginInfo = new GetPluginInfo("test.Plugin", "test-identifier"); + assertThat(getPluginInfo.getField("Detailed"), nullValue()); + } + + @Test + public void settingPluginNameResultsInFieldBeingSet() { + getPluginInfo.setPluginName("test.Plugin2"); + assertThat(getPluginInfo.getField("PluginName"), equalTo("test.Plugin2")); + } + + @Test + public void settingDetailedToTrueResultsInFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(getPluginInfo::setDetailed, m -> m.getField("Detailed"), true); + } + + @Test + public void settingDetailedToFalseResultsInFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(getPluginInfo::setDetailed, m -> m.getField("Detailed"), false); + } + + private void verifyFieldValueAfterSettingFlag(Consumer setter, Function getter, boolean flag) { + setter.accept(flag); + assertThat(getter.apply(getPluginInfo), equalTo(String.valueOf(flag))); + } + + private final GetPluginInfo getPluginInfo = new GetPluginInfo("test.Plugin", "test-identifier"); + +}