Allow mixed naming when setting an option to multiple values

This commit is contained in:
Alexey Golub
2020-03-16 19:47:51 +02:00
parent c854f5fb8d
commit b812bd1423
3 changed files with 44 additions and 7 deletions

View File

@@ -910,6 +910,28 @@ namespace CliFx.Tests
});
}
[Fact]
public void Property_annotated_as_an_option_can_be_bound_from_multiple_values_even_if_the_inputs_use_mixed_naming()
{
// Arrange
var schema = ApplicationSchema.Resolve(new[] {typeof(ArrayOptionCommand)});
var input = new CommandLineInputBuilder()
.AddOption("option", "foo")
.AddOption("o", "bar")
.AddOption("option", "baz")
.Build();
// Act
var command = schema.InitializeEntryPoint(input);
// Assert
command.Should().BeEquivalentTo(new ArrayOptionCommand
{
Option = new[] {"foo", "bar", "baz"}
});
}
[Fact]
public void Property_annotated_as_a_required_option_must_always_be_bound_to_some_value()
{