šŸ—‘ļø Deprecate multi-argument constructor of TestDDARequest
authorDavid ā€˜Bombe’ Roden <bombe@freenetproject.org>
Mon, 6 Jan 2025 14:22:13 +0000 (15:22 +0100)
committerDavid ā€˜Bombe’ Roden <bombe@freenetproject.org>
Mon, 6 Jan 2025 14:22:13 +0000 (15:22 +0100)
src/main/java/net/pterodactylus/fcp/TestDDARequest.java
src/test/java/net/pterodactylus/fcp/TestDDARequestTest.java

index e1270b9..45bf5a2 100644 (file)
@@ -24,6 +24,11 @@ package net.pterodactylus.fcp;
  */
 public class TestDDARequest extends FcpMessage {
 
+       public TestDDARequest(String directory) {
+               super("TestDDARequest");
+               setField("Directory", directory);
+       }
+
        /**
         * Creates a new ā€œTestDDARequestā€ command that initiates a DDA test.
         *
@@ -34,7 +39,9 @@ public class TestDDARequest extends FcpMessage {
         *            directory
         * @param wantWriteDirectory
         *            <code>true</code> if you want to write files to the directory
+        * @deprecated Use {@link #TestDDARequest(String)} instead
         */
+       @Deprecated
        public TestDDARequest(String directory, boolean wantReadDirectory, boolean wantWriteDirectory) {
                super("TestDDARequest");
                setField("Directory", directory);
@@ -42,4 +49,12 @@ public class TestDDARequest extends FcpMessage {
                setField("WantWriteDirectory", String.valueOf(wantWriteDirectory));
        }
 
+       public void setWantToRead(boolean wantToRead) {
+               setField("WantReadDirectory", String.valueOf(wantToRead));
+       }
+
+       public void setWantToWrite(boolean wantToWrite) {
+               setField("WantWriteDirectory", String.valueOf(wantToWrite));
+       }
+
 }
index 1a84d4d..0d309c9 100644 (file)
@@ -2,31 +2,77 @@ 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 TestDDARequestTest {
 
        @Test
-       public void testDDARequestMessageHasCorrectName() {
+       public void testDDARequestMessageWithDeprecatedConstructorHasCorrectName() {
+               TestDDARequest testDDARequest = new TestDDARequest("/some/directory", false, true);
                assertThat(testDDARequest.getName(), equalTo("TestDDARequest"));
        }
 
        @Test
-       public void testDDARequestMessageHasDirectoryFieldSet() {
-               assertThat(testDDARequest.getField("Directory"), equalTo("/"));
+       public void testDDARequestMessageWithDeprecatedConstructorHasDirectoryFieldSet() {
+               TestDDARequest testDDARequest = new TestDDARequest("/some/directory", false, true);
+               assertThat(testDDARequest.getField("Directory"), equalTo("/some/directory"));
        }
 
        @Test
-       public void testDDARequestMessageHasWantReadDirectoryFieldSet() {
+       public void testDDARequestMessageWithDeprecatedConstructorHasWantReadDirectoryFieldSet() {
+               TestDDARequest testDDARequest = new TestDDARequest("/some/directory", false, true);
                assertThat(testDDARequest.getField("WantReadDirectory"), equalTo("false"));
        }
 
        @Test
-       public void testDDARequestMessageHasWantWriteDirectoryFieldSet() {
+       public void testDDARequestMessageWithDeprecatedConstructorHasWantWriteDirectoryFieldSet() {
+               TestDDARequest testDDARequest = new TestDDARequest("/some/directory", false, true);
                assertThat(testDDARequest.getField("WantWriteDirectory"), equalTo("true"));
        }
 
-       private final TestDDARequest testDDARequest = new TestDDARequest("/", false, true);
+       @Test
+       public void testDDARequestMessageHasCorrectName() {
+               assertThat(testDDARequest.getName(), equalTo("TestDDARequest"));
+       }
+
+       @Test
+       public void testDDARequestMessageHasDirectoryFieldSet() {
+               assertThat(testDDARequest.getField("Directory"), equalTo("/some/directory"));
+       }
+
+       @Test
+       public void testDDARequestMessageHasNoWantReadDirectoryField() {
+               assertThat(testDDARequest.getField("WantReadDirectory"), nullValue());
+       }
+
+       @Test
+       public void settingWantToReadToFalseResultsInWantReadDirectoryFieldBeingSetToFalse() {
+               verifyFieldValueAfterSettingFlag(testDDARequest, TestDDARequest::setWantToRead, "WantReadDirectory", false);
+       }
+
+       @Test
+       public void settingWantToReadToTrueResultsInWantReadDirectoryFieldBeingSetToTrue() {
+               verifyFieldValueAfterSettingFlag(testDDARequest, TestDDARequest::setWantToRead, "WantReadDirectory", true);
+       }
+
+       @Test
+       public void testDDARequestMessageHasNoWantWriteDirectoryField() {
+               assertThat(testDDARequest.getField("WantWriteDirectory"), nullValue());
+       }
+
+       @Test
+       public void settingWantToWriteToFalseResultsInWantWriteDirectoryFieldBeingSetToFalse() {
+               verifyFieldValueAfterSettingFlag(testDDARequest, TestDDARequest::setWantToWrite, "WantWriteDirectory", false);
+       }
+
+       @Test
+       public void settingWantToWriteToTrueResultsInWantWriteDirectoryFieldBeingSetToTrue() {
+               verifyFieldValueAfterSettingFlag(testDDARequest, TestDDARequest::setWantToWrite, "WantWriteDirectory", true);
+       }
+
+       private final TestDDARequest testDDARequest = new TestDDARequest("/some/directory");
 
 }