public void Double_dash_force_subsequent_arguments_as_values() { // Fixture setup var expectedResult = new Simple_Options_With_Values { StringValue = "str1", LongValue = 10L, StringSequence = new[] { "-a", "--bee", "-c" }, IntValue = 20 }; var arguments = new[] { "--stringvalue", "str1", "--", "10", "-a", "--bee", "-c", "20" }; // Exercize system var result = InstanceBuilder.Build( Maybe.Just <Func <Simple_Options_With_Values> >(() => new Simple_Options_With_Values()), (a, optionSpecs) => Tokenizer.PreprocessDashDash(a, args => Tokenizer.Tokenize(args, name => NameLookup.Contains(name, optionSpecs, StringComparer.Ordinal))), arguments, StringComparer.Ordinal, false, CultureInfo.InvariantCulture, true, true, Enumerable.Empty <ErrorType>()); // Verify outcome expectedResult.Should().BeEquivalentTo(((Parsed <Simple_Options_With_Values>)result).Value); // Teardown }
public void Parse_values_partitioned_between_sequence_and_scalar() { // Fixture setup var expectedResult = new Simple_Options_With_Values { StringValue = string.Empty, LongValue = 10L, StringSequence = new[] { "a", "b", "c" }, IntValue = 20 }; // Exercize system var result = InvokeBuild <Simple_Options_With_Values>( new[] { "10", "a", "b", "c", "20" }); // Verify outcome expectedResult.Should().BeEquivalentTo(((Parsed <Simple_Options_With_Values>)result).Value); // Teardown }