package de.steamwar.command; import de.steamwar.command.dto.ExecutionIdentifier; import org.junit.Test; import java.util.List; import static de.steamwar.AssertionUtils.assertCMDFramework; import static de.steamwar.AssertionUtils.assertTabCompletes; public class ArgumentCommandTest { @Test public void testNoArgs() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[0]); } catch (Exception e) { throw new AssertionError("No exception expected"); } } @Test public void testBoolean() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"true", "false"}); } catch (Exception e) { assertCMDFramework(e, ExecutionIdentifier.class, "RunArgument with Boolean"); } } @Test public void testFloat() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"0.0", "0.0", "0.0"}); } catch (Exception e) { assertCMDFramework(e, ExecutionIdentifier.class, "RunArgument with Float"); } } @Test public void testDouble() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"0.0", "0.0"}); } catch (Exception e) { assertCMDFramework(e, ExecutionIdentifier.class, "RunArgument with Double"); } } @Test public void testInt() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"0"}); } catch (Exception e) { assertCMDFramework(e, ExecutionIdentifier.class, "RunArgument with Integer"); } } @Test public void testLong() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"0", "0"}); } catch (Exception e) { assertCMDFramework(e, ExecutionIdentifier.class, "RunArgument with Long"); } } @Test public void testString() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"Hello World"}); } catch (Exception e) { assertCMDFramework(e, ExecutionIdentifier.class, "RunArgument with String"); } } @Test public void testTabComplete() { ArgumentCommand cmd = new ArgumentCommand(); List strings = cmd.tabComplete("test", "", new String[]{""}); assertTabCompletes(strings, "true", "false"); } @Test public void testPartialTabComplete() { ArgumentCommand cmd = new ArgumentCommand(); List strings = cmd.tabComplete("test", "", new String[]{"t"}); assertTabCompletes(strings, "true", "t"); } }