public void PassThroughArgumentsAreParsedInCommandSet() { var arguments = new SampleUnitTestArguments(); var command = new UnitTestCommand <SampleUnitTestArguments>(arguments, false); var commandSet = new CommandSet("set") { command }; var exitCode = commandSet.Run(new[] { "unit-test", "-n", "50", "--enum", "Value2", Program.VerbatimArgumentPlaceholder, "v8", "--foo", "runtime.js", }); Assert.Equal(0, exitCode); Assert.True(command.CommandRun); Assert.Equal(50, arguments.Number); Assert.Equal(SampleEnum.Value2, arguments.Enum); Assert.Equal(new[] { "v8", "--foo", "runtime.js" }, command.PassThroughArgs.ToArray()); }
public void RequiredStringArgumentIsValidated() { var arg = new SampleStringArgument(); var command = UnitTestCommand.FromArgument(arg); var exitCode = command.Invoke(Array.Empty <string>()); Assert.Equal((int)ExitCode.INVALID_ARGUMENTS, exitCode); }
public void TimeSpanArgumentHasDefault() { var arg = new SampleTimeSpanArgument(TimeSpan.FromMinutes(3)); var command = UnitTestCommand.FromArgument(arg); var exitCode = command.Invoke(Array.Empty <string>()); Assert.Equal(0, exitCode); Assert.True(command.CommandRun); Assert.Equal(TimeSpan.FromMinutes(3), arg.Value); }
public void SwitchArgumentArgumentWithDefaultValueIsFalse() { var arg = new SampleSwitchArgument(true); var command = UnitTestCommand.FromArgument(arg); var exitCode = command.Invoke(new[] { "-b=off", }); Assert.Equal(0, exitCode); Assert.True(command.CommandRun); Assert.False(arg.Value); }
public void TimeSpanArgumentIsSet() { var arg = new SampleTimeSpanArgument(TimeSpan.FromMinutes(3)); var command = UnitTestCommand.FromArgument(arg); var exitCode = command.Invoke(new[] { "-t", "00:02:30", }); Assert.Equal(0, exitCode); Assert.True(command.CommandRun); Assert.Equal(TimeSpan.FromSeconds(150), arg.Value); }
public void RequiredStringArgumentIsSet() { var arg = new SampleStringArgument(); var command = UnitTestCommand.FromArgument(arg); var exitCode = command.Invoke(new[] { "-c", "xyz", }); Assert.Equal(0, exitCode); Assert.True(command.CommandRun); Assert.Equal("xyz", arg.Value); }
public void RepetableArgumentsAreParsed() { var arg = new SampleRepeatableArgument(); var command = UnitTestCommand.FromArgument(arg); var exitCode = command.Invoke(new[] { "-a", "foo", "-a=bar", }); Assert.Equal(0, exitCode); Assert.True(command.CommandRun); Assert.Equal(new[] { "foo", "bar" }, arg.Value); }
public void ExtraneousArgumentsAreDetected() { var arguments = new SampleUnitTestArguments(); var command = new UnitTestCommand <SampleUnitTestArguments>(arguments, true); var exitCode = command.Invoke(new[] { "-n", "50", "--enum", "Value2", "some", "other=1", "args", }); Assert.Equal(0, exitCode); Assert.True(command.CommandRun); Assert.Equal(50, arguments.Number); Assert.Equal(SampleEnum.Value2, arguments.Enum); Assert.Equal(new[] { "some", "other=1", "args" }, command.ExtraArgs); }
public XHarnessCommandTests() { _arguments = new SampleUnitTestArguments(); _command = new UnitTestCommand <SampleUnitTestArguments>(_arguments, false); }