diff --git a/src/Spectre.Console.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs b/src/Spectre.Console.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs index 2a2b58d..af65fe0 100644 --- a/src/Spectre.Console.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs +++ b/src/Spectre.Console.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs @@ -15,6 +15,12 @@ namespace Spectre.Console.Tests.Data { [CommandArgument(0, "[NAMES]")] public string[] Names { get; set; } = Array.Empty(); + + [CommandOption("-c")] + public int Count { get; set; } = 1; + + [CommandOption("-v")] + public int Value { get; set; } = 0; } public sealed class OptionalArgumentWithDefaultValueAndTypeConverterSettings : CommandSettings diff --git a/src/Spectre.Console.Tests/Unit/Cli/CommandAppTests.cs b/src/Spectre.Console.Tests/Unit/Cli/CommandAppTests.cs index 8fe01b9..a3c9168 100644 --- a/src/Spectre.Console.Tests/Unit/Cli/CommandAppTests.cs +++ b/src/Spectre.Console.Tests/Unit/Cli/CommandAppTests.cs @@ -262,6 +262,9 @@ namespace Spectre.Console.Tests.Unit.Cli result.ExitCode.ShouldBe(0); result.Settings .ShouldBeOfType() + .And(settings => settings.Count.ShouldBe(1)) + .And(settings => settings.Value.ShouldBe(0)) + .And(settings => settings.Names.ShouldNotBeNull()) .And(settings => settings.Names.ShouldNotBeNull()) .And(settings => settings.Names.ShouldBeEmpty()); } @@ -278,12 +281,14 @@ namespace Spectre.Console.Tests.Unit.Cli }); // When - var result = app.Run("ABBA", "Herreys"); + var result = app.Run("-c", "0", "-v", "50", "ABBA", "Herreys"); // Then result.ExitCode.ShouldBe(0); result.Settings .ShouldBeOfType() + .And(settings => settings.Count.ShouldBe(0)) + .And(settings => settings.Value.ShouldBe(50)) .And(settings => settings.Names.ShouldContain("ABBA")) .And(settings => settings.Names.ShouldContain("Herreys")); }