Exemplo n.º 1
0
    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());
    }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 4
0
    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);
    }
Exemplo n.º 5
0
    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);
    }
Exemplo n.º 6
0
    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);
    }
Exemplo n.º 7
0
    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);
    }
Exemplo n.º 8
0
    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);
    }
Exemplo n.º 9
0
 public XHarnessCommandTests()
 {
     _arguments = new SampleUnitTestArguments();
     _command   = new UnitTestCommand <SampleUnitTestArguments>(_arguments, false);
 }