From: David ‘Bombe’ Roden Date: Wed, 1 Jan 2025 19:22:33 +0000 (+0100) Subject: ✅ Add test for GetConfig command X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=66d082dc13c095bd754a689f4086f71a11a9a009;p=jFCPlib.git ✅ Add test for GetConfig command --- diff --git a/src/test/java/net/pterodactylus/fcp/GetConfigTest.java b/src/test/java/net/pterodactylus/fcp/GetConfigTest.java new file mode 100644 index 0000000..0ece93a --- /dev/null +++ b/src/test/java/net/pterodactylus/fcp/GetConfigTest.java @@ -0,0 +1,165 @@ +package net.pterodactylus.fcp; + +import org.junit.Test; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +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 GetConfigTest { + + @Test + public void getConfigWithoutIdentifierCreatesMessageWithCorrectName() { + assertThat(getConfig.getName(), equalTo("GetConfig")); + } + + @Test + public void getConfigWithoutIdentifierCreatesMessageWithoutIdentifier() { + assertThat(getConfig.getField("Identifier"), nullValue()); + } + + @Test + public void getConfigWithIdentifierCreatesMessageWithCorrectName() { + GetConfig getConfig = new GetConfig("test-identifier"); + assertThat(getConfig.getName(), equalTo("GetConfig")); + } + + @Test + public void getConfigWithIdentifierCreatesMessageWithIdentifier() { + GetConfig getConfig = new GetConfig("test-identifier"); + assertThat(getConfig.getField("Identifier"), equalTo("test-identifier")); + } + + @Test + public void newGetConfigDoesNotHaveWithCurrentField() { + assertThat(getConfig.getField("WithCurrent"), nullValue()); + } + + @Test + public void settingWithCurrentToTrueResultsInFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithCurrent, "WithCurrent", true); + } + + @Test + public void settingWithCurrentToFalseResultsInFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithCurrent, "WithCurrent", false); + } + + @Test + public void newGetConfigDoesNotHaveWithDefaultsField() { + assertThat(getConfig.getField("WithDefaults"), nullValue()); + } + + @Test + public void settingWithDefaultsToTrueResultsInFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithDefaults, "WithDefaults", true); + } + + @Test + public void settingWithDefaultsToFalseResultsInFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithDefaults, "WithDefaults", false); + } + + @Test + public void newGetConfigDoesNotHaveWithSortOrderField() { + assertThat(getConfig.getField("WithSortOrder"), nullValue()); + } + + @Test + public void settingWithSortOrderToTrueResultsInFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithSortOrder, "WithSortOrder", true); + } + + @Test + public void settingWithSortOrderToFalseResultsInFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithSortOrder, "WithSortOrder", false); + } + + @Test + public void newGetConfigDoesNotHaveWithExpertFlagField() { + assertThat(getConfig.getField("WithExpertFlag"), nullValue()); + } + + @Test + public void settingWithExpertFlagToTrueResultsInFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithExpertFlag, "WithExpertFlag", true); + } + + @Test + public void settingWithExpertFlagToFalseResultsInFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithExpertFlag, "WithExpertFlag", false); + } + + @Test + public void newGetConfigDoesNotHaveWithForceWriteFlagField() { + assertThat(getConfig.getField("WithForceWriteFlag"), nullValue()); + } + + @Test + public void settingWithForceWriteFlagToTrueResultsInFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithForceWriteFlag, "WithForceWriteFlag", true); + } + + @Test + public void settingWithForceWriteFlagToFalseResultsInFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithForceWriteFlag, "WithForceWriteFlag", false); + } + + @Test + public void newGetConfigDoesNotHaveWithShortDescriptionField() { + assertThat(getConfig.getField("WithShortDescription"), nullValue()); + } + + @Test + public void settingWithShortDescriptionToTrueResultsInFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithShortDescription, "WithShortDescription", true); + } + + @Test + public void settingWithShortDescriptionToFalseResultsInFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithShortDescription, "WithShortDescription", false); + } + + @Test + public void newGetConfigDoesNotHaveWithLongDescriptionField() { + assertThat(getConfig.getField("WithLongDescription"), nullValue()); + } + + @Test + public void settingWithLongDescriptionToTrueResultsInFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithLongDescription, "WithLongDescription", true); + } + + @Test + public void settingWithLongDescriptionToFalseResultsInFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithLongDescription, "WithLongDescription", false); + } + + @Test + public void newGetConfigDoesNotHaveWithDataTypesField() { + assertThat(getConfig.getField("WithDataTypes"), nullValue()); + } + + @Test + public void settingWithDataTypesToTrueResultsInFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithDataTypes, "WithDataTypes", true); + } + + @Test + public void settingWithDataTypesToFalseResultsInFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(GetConfig::setWithDataTypes, "WithDataTypes", false); + } + + private void verifyFieldValueAfterSettingFlag(BiConsumer setter, String fieldName, boolean flag) { + setter.accept(getConfig, flag); + assertThat(getConfig.getField(fieldName), equalTo(String.valueOf(flag))); + } + + private final GetConfig getConfig = new GetConfig(); + +}