From: David ‘Bombe’ Roden Date: Thu, 2 Jan 2025 11:38:45 +0000 (+0100) Subject: ✅ Add test for GetRequestStatus X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=ab032b65d8bc7bd15709e1e3192187d9d953de89;p=jFCPlib.git ✅ Add test for GetRequestStatus --- diff --git a/src/test/java/net/pterodactylus/fcp/GetRequestStatusTest.java b/src/test/java/net/pterodactylus/fcp/GetRequestStatusTest.java new file mode 100644 index 0000000..343a169 --- /dev/null +++ b/src/test/java/net/pterodactylus/fcp/GetRequestStatusTest.java @@ -0,0 +1,49 @@ +package net.pterodactylus.fcp; + +import org.junit.Test; + +import static net.pterodactylus.fcp.test.MessageTests.verifyFieldValueAfterSettingFlag; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.nullValue; + +public class GetRequestStatusTest { + + @Test + public void getRequestStatusSetsIdentifierField() { + assertThat(getRequestStatus.getField("Identifier"), equalTo("test-identifier")); + } + + @Test + public void newGetRequestStatusDoesNotIncludeGlobalField() { + assertThat(getRequestStatus.getField("Global"), nullValue()); + } + + @Test + public void getRequestStatusWithGlobalSetToTrueResultsInGlobalFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(getRequestStatus, GetRequestStatus::setGlobal, m -> m.getField("Global"), true); + } + + @Test + public void getRequestStatusWithGlobalSetToFalseResultsInGlobalFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(getRequestStatus, GetRequestStatus::setGlobal, m -> m.getField("Global"), false); + } + + @Test + public void newGetRequestStatusDoesNotIncludeOnlyDataField() { + assertThat(getRequestStatus.getField("OnlyData"), nullValue()); + } + + @Test + public void getRequestStatusWithOnlyDataSetToTrueResultsInOnlyDataFieldBeingSetToTrue() { + verifyFieldValueAfterSettingFlag(getRequestStatus, GetRequestStatus::setOnlyData, m -> m.getField("OnlyData"), true); + } + + @Test + public void getRequestStatusWithOnlyDataSetToFalseResultsInOnlyDataFieldBeingSetToFalse() { + verifyFieldValueAfterSettingFlag(getRequestStatus, GetRequestStatus::setOnlyData, m -> m.getField("OnlyData"), false); + } + + private final GetRequestStatus getRequestStatus = new GetRequestStatus("test-identifier"); + +} diff --git a/src/test/java/net/pterodactylus/fcp/test/MessageTests.java b/src/test/java/net/pterodactylus/fcp/test/MessageTests.java new file mode 100644 index 0000000..ed2dd60 --- /dev/null +++ b/src/test/java/net/pterodactylus/fcp/test/MessageTests.java @@ -0,0 +1,18 @@ +package net.pterodactylus.fcp.test; + +import net.pterodactylus.fcp.FcpMessage; + +import java.util.function.BiConsumer; +import java.util.function.Function; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; + +public class MessageTests { + + public static void verifyFieldValueAfterSettingFlag(M message, BiConsumer setter, Function getter, boolean flag) { + setter.accept(message, flag); + assertThat(getter.apply(message), equalTo(String.valueOf(flag))); + } + +}