From ab032b65d8bc7bd15709e1e3192187d9d953de89 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Thu, 2 Jan 2025 12:38:45 +0100 Subject: [PATCH] =?utf8?q?=E2=9C=85=20Add=20test=20for=20GetRequestStatus?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../pterodactylus/fcp/GetRequestStatusTest.java | 49 ++++++++++++++++++++++ .../net/pterodactylus/fcp/test/MessageTests.java | 18 ++++++++ 2 files changed, 67 insertions(+) create mode 100644 src/test/java/net/pterodactylus/fcp/GetRequestStatusTest.java create mode 100644 src/test/java/net/pterodactylus/fcp/test/MessageTests.java 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))); + } + +} -- 2.7.4