package de.steamwar.command; import de.steamwar.command.dto.ExecutionIdentifier; import org.junit.Test; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.is; 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) { assertThat(e.getCause().getCause(), is(instanceOf(ExecutionIdentifier.class))); assertThat(e.getCause().getCause().getMessage(), is("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) { assertThat(e.getCause().getCause(), is(instanceOf(ExecutionIdentifier.class))); assertThat(e.getCause().getCause().getMessage(), is("RunArgument with Float")); } } @Test public void testDouble() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"0.0", "0.0"}); } catch (Exception e) { assertThat(e.getCause().getCause(), is(instanceOf(ExecutionIdentifier.class))); assertThat(e.getCause().getCause().getMessage(), is("RunArgument with Double")); } } @Test public void testInt() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"0"}); } catch (Exception e) { assertThat(e.getCause().getCause(), is(instanceOf(ExecutionIdentifier.class))); assertThat(e.getCause().getCause().getMessage(), is("RunArgument with Integer")); } } @Test public void testLong() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"0", "0"}); } catch (Exception e) { assertThat(e.getCause().getCause(), is(instanceOf(ExecutionIdentifier.class))); assertThat(e.getCause().getCause().getMessage(), is("RunArgument with Long")); } } @Test public void testString() { ArgumentCommand cmd = new ArgumentCommand(); try { cmd.execute("test", "", new String[]{"Hello World"}); } catch (Exception e) { assertThat(e.getCause().getCause(), is(instanceOf(ExecutionIdentifier.class))); assertThat(e.getCause().getCause().getMessage(), is("RunArgument with String")); } } }