From c2795f0f34a8050f77276b980a33d4032a412b05 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Tue, 16 Aug 2022 18:04:55 +0200 Subject: [PATCH] Add StaticValueCommand and StaticValueCommandTest --- .../steamwar/command/StaticValueCommand.java | 55 ++++++++ .../command/StaticValueCommandTest.java | 123 ++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 testsrc/de/steamwar/command/StaticValueCommand.java create mode 100644 testsrc/de/steamwar/command/StaticValueCommandTest.java 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