diff --git a/testsrc/de/steamwar/command/StaticValueCommand.java b/testsrc/de/steamwar/command/StaticValueCommand.java
new file mode 100644
index 0000000..0eca60d
--- /dev/null
+++ b/testsrc/de/steamwar/command/StaticValueCommand.java
@@ -0,0 +1,55 @@
+/*
+ * This file is a part of the SteamWar software.
+ *
+ * Copyright (C) 2022 SteamWar.de-Serverteam
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package de.steamwar.command;
+
+import de.steamwar.command.dto.ExecutionIdentifier;
+import de.steamwar.command.dto.TestSWCommand;
+
+public class StaticValueCommand extends TestSWCommand {
+
+ public StaticValueCommand() {
+ super("staticvalue");
+ }
+
+ @Register
+ public void defaultStaticValue(String s, @StaticValue({"hello", "world"}) String staticValue) {
+ throw new ExecutionIdentifier("RunStaticValue with " + staticValue);
+ }
+
+ @Register
+ public void booleanStaticValue(String s, @StaticValue(value = {"-a", "-b", "-c"}, allowISE = true) boolean staticValue) {
+ throw new ExecutionIdentifier("RunStaticValue with " + staticValue);
+ }
+
+ @Register
+ public void booleanStaticValueOtherFalseValue(String s, @StaticValue(value = {"-d", "-e", "-f"}, allowISE = true, falseValues = { 1 }) boolean staticValue) {
+ throw new ExecutionIdentifier("RunStaticValue with " + staticValue);
+ }
+
+ @Register
+ public void intStaticValue(String s, @StaticValue(value = {"-g", "-h", "-i"}, allowISE = true) int staticValue) {
+ throw new ExecutionIdentifier("RunStaticValue with int " + staticValue);
+ }
+
+ @Register
+ public void longStaticValue(String s, @StaticValue(value = {"-j", "-k", "-l"}, allowISE = true) long staticValue) {
+ throw new ExecutionIdentifier("RunStaticValue with long " + staticValue);
+ }
+}
diff --git a/testsrc/de/steamwar/command/StaticValueCommandTest.java b/testsrc/de/steamwar/command/StaticValueCommandTest.java
new file mode 100644
index 0000000..055b8e2
--- /dev/null
+++ b/testsrc/de/steamwar/command/StaticValueCommandTest.java
@@ -0,0 +1,123 @@
+/*
+ * This file is a part of the SteamWar software.
+ *
+ * Copyright (C) 2022 SteamWar.de-Serverteam
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package de.steamwar.command;
+
+import de.steamwar.command.dto.ExecutionIdentifier;
+import org.junit.Test;
+
+import static de.steamwar.AssertionUtils.assertCMDFramework;
+
+public class StaticValueCommandTest {
+
+ @Test
+ public void defaultTest() {
+ StaticValueCommand cmd = new StaticValueCommand();
+ try {
+ cmd.execute("", "", new String[] {"hello"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with hello");
+ }
+ try {
+ cmd.execute("", "", new String[] {"world"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with world");
+ }
+ }
+
+ @Test
+ public void booleanTest() {
+ StaticValueCommand cmd = new StaticValueCommand();
+ try {
+ cmd.execute("", "", new String[] {"-a"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with false");
+ }
+ try {
+ cmd.execute("", "", new String[] {"-b"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with true");
+ }
+ try {
+ cmd.execute("", "", new String[] {"-c"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with true");
+ }
+ }
+
+ @Test
+ public void booleanOtherFalseTest() {
+ StaticValueCommand cmd = new StaticValueCommand();
+ try {
+ cmd.execute("", "", new String[] {"-d"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with true");
+ }
+ try {
+ cmd.execute("", "", new String[] {"-e"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with false");
+ }
+ try {
+ cmd.execute("", "", new String[] {"-f"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with true");
+ }
+ }
+
+ @Test
+ public void intTest() {
+ StaticValueCommand cmd = new StaticValueCommand();
+ try {
+ cmd.execute("", "", new String[] {"-g"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with int 0");
+ }
+ try {
+ cmd.execute("", "", new String[] {"-h"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with int 1");
+ }
+ try {
+ cmd.execute("", "", new String[] {"-i"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with int 2");
+ }
+ }
+
+ @Test
+ public void longTest() {
+ StaticValueCommand cmd = new StaticValueCommand();
+ try {
+ cmd.execute("", "", new String[] {"-j"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with long 0");
+ }
+ try {
+ cmd.execute("", "", new String[] {"-k"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with long 1");
+ }
+ try {
+ cmd.execute("", "", new String[] {"-l"});
+ } catch (Exception e) {
+ assertCMDFramework(e, ExecutionIdentifier.class, "RunStaticValue with long 2");
+ }
+ }
+}
\ No newline at end of file