internal void Mapper_AddPositionalOption_Should_Be_Initialized_With_Property_LongName() { // Arrange var mapper = new ArgsMapper <OneBoolOptionArgs>(); mapper.AddPositionalOption(x => x.Option, "option"); }
internal void Mapper_AddPositionalOption_List_Should_Be_Initialized_With_Property() { // Arrange var mapper = new ArgsMapper <OneListStringOptionArgs>(); mapper.AddPositionalOption(x => x.Option); }
internal void Command_Subcommand_Subcommand_Subcommand_Should_Be_Matched_With_Default_Name() { // Arrange var mapper = new ArgsMapper <FourLevelNestedCommandArgs>(); mapper.AddCommand(x => x.Command, commandSettings => { commandSettings.AddSubcommand(x => x.Command, subcommandSettings0 => { subcommandSettings0.AddSubcommand(x => x.Command, subcommandSettings1 => { subcommandSettings1.AddSubcommand(x => x.Command); }); }); }); // Act var result = mapper.Map("command", "command", "command", "command"); // Assert Assert.NotNull(result.Model.Command); Assert.NotNull(result.Model.Command.Command); Assert.NotNull(result.Model.Command.Command.Command); Assert.NotNull(result.Model.Command.Command.Command.Command); Assert.IsType <ThreeLevelNestedCommandArgs>(result.Model.Command); Assert.IsType <TwoLevelNestedCommandArgs>(result.Model.Command.Command); Assert.IsType <OneCommandWithOneBoolOptionArgs>(result.Model.Command.Command.Command); Assert.IsType <OneBoolOptionArgs>(result.Model.Command.Command.Command.Command); }
internal void Mapper_AddOption_Should_Be_Initialized_With_Property() { // Arrange var mapper = new ArgsMapper <OneBoolOptionArgs>(); mapper.AddOption(x => x.Option); }
internal void Mapper_AddCommand_Should_Be_Initialized_With_Property_LongName() { // Arrange var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); mapper.AddCommand(x => x.Command, "command"); }
internal void Command_Option_Value_Should_Be_Default_Value_Multiple() { // Arrange var mapper = new ArgsMapper <OneCommandWithThreeIntOptionsArgs>(); mapper.AddCommand(x => x.Command, commandSettings => { commandSettings.AddOption(x => x.Option1, optionSettings => { optionSettings.DefaultValue = 1; }); commandSettings.AddOption(x => x.Option2, optionSettings => { optionSettings.DefaultValue = 2; }); commandSettings.AddOption(x => x.Option3, optionSettings => { optionSettings.DefaultValue = 3; }); }); // Act var result = mapper.Map("command"); // Assert Assert.Equal(1, result.Model.Command.Option1); Assert.Equal(2, result.Model.Command.Option2); Assert.Equal(3, result.Model.Command.Option3); }
internal void Mapper_AddPositionalOption_Should_Be_Initialized_With_Property_Settings() { // Arrange var mapper = new ArgsMapper <OneBoolOptionArgs>(); mapper.AddPositionalOption(x => x.Option, optionSettings => { }); }
internal void Mapper_AddPositionalOption_List_Should_Be_Initialized_With_Settings() { // Arrange var mapper = new ArgsMapper <OneListStringOptionWithOneBoolOptionArgs>(); mapper.AddPositionalOption(x => x.Options, optionSettings => { }); }
internal void Mapper_AddPositionalOption_List_AddOption_Should_Be_Initialized() { // Arrange var mapper = new ArgsMapper <OneListStringOptionWithOneBoolOptionArgs>(); mapper.AddPositionalOption(x => x.Options); mapper.AddOption(x => x.Option); }
internal void Mapper_AddCommand_Should_Be_Initialized_With_Property_Settings() { // Arrange var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); mapper.AddCommand(x => x.Command, commandSettings => { }); }
internal void Usage_AddCommand_Usage_AddHelpOption() { var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); mapper.AddCommand(x => x.Command, commandSettings => { commandSettings.Usage.AddHelpOption(); }); }
internal void Mapper_AddCommand_AddOption_Should_Be_Initialized_With_Property_ShortName_LongName() { // Arrange var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); mapper.AddCommand(x => x.Command, "command", commandSettings => { commandSettings.AddOption(x => x.Option, 'o', "option"); }); }
internal void Mapper_AddCommand_AddPositionalOption_Should_Be_Initialized_With_Property() { // Arrange var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); mapper.AddCommand(x => x.Command, "command", commandSettings => { commandSettings.AddPositionalOption(x => x.Option); }); }
internal void Mapper_AddCommand_AddSubcommand_Should_Be_Initialized_With_Property_LongName() { // Arrange var mapper = new ArgsMapper <TwoLevelNestedCommandArgs>(); mapper.AddCommand(x => x.Command, commandSettings => { commandSettings.AddSubcommand(x => x.Command, "command"); }); }
internal void Usage_AddCommand_Usage_AddSection_AddTable_2_Columns() { var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); mapper.AddCommand(x => x.Command, commandSettings => { commandSettings.Usage.AddSection("header", section => { section.AddTable(("column1", "column2")); }); });
internal void AddCommand_Should_Throw_CommandNameRequiredException() { // Arrange var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); // Assert Assert.Throws <CommandNameRequiredException>(() => mapper.AddCommand(x => x.Command, string.Empty) ); }
internal void AddPositionalOption_Should_Throw_ReservedOptionLongNameException(string optionLongName) { // Arrange var mapper = new ArgsMapper <OneBoolOptionArgs>(); // Assert Assert.Throws <ReservedOptionLongNameException>(() => mapper.AddPositionalOption(x => x.Option, optionLongName) ); }
internal void AddOption_Should_Throw_InvalidOptionShortNameException(char optionShortName) { // Arrange var mapper = new ArgsMapper <OneBoolOptionArgs>(); // Assert Assert.Throws <InvalidOptionShortNameException>(() => mapper.AddOption(x => x.Option, optionShortName, "option") ); }
internal void AddPositionalOption_Should_Throw_UnsupportedOptionPropertyTypeException_Class() { // Arrange var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); // Assert Assert.Throws <UnsupportedOptionPropertyTypeException>(() => mapper.AddPositionalOption(x => x.Command) ); }
internal void AddPositionalOption_Should_Throw_OptionLongNameRequiredException() { // Arrange var mapper = new ArgsMapper <OneBoolOptionArgs>(); // Assert Assert.Throws <OptionLongNameRequiredException>(() => mapper.AddPositionalOption(x => x.Option, string.Empty) ); }
internal void AddPositionalOption_Should_Throw_ArgumentException_When_Property_Method() { // Arrange var mapper = new ArgsMapper <OneBoolMethodOptionArgs>(); // Assert Assert.Throws <ArgumentException>(() => mapper.AddPositionalOption(x => x.Option()) ); }
internal void AddPositionalOption_Should_Throw_ArgumentException_When_Property_Has_No_Setter() { // Arrange var mapper = new ArgsMapper <OneBoolWithoutSetterOptionArgs>(); // Assert Assert.Throws <ArgumentException>(() => mapper.AddPositionalOption(x => x.Option) ); }
internal void AddOption_Should_Throw_ArgumentException_When_Property_Internal() { // Arrange var mapper = new ArgsMapper <OneInternalBoolOptionArgs>(); // Assert Assert.Throws <ArgumentException>(() => mapper.AddOption(x => x.Option) ); }
internal void Mapper_AddCommand_AddOption_AddPositionalOption_List_Should_Be_Initialized() { // Arrange var mapper = new ArgsMapper <OneCommandWithOneListStringOptionWithOneBoolOptionArgs>(); mapper.AddCommand(x => x.Command, "command", commandSettings => { commandSettings.AddOption(x => x.Option); commandSettings.AddPositionalOption(x => x.Options); }); }
internal void AddCommand_Should_Throw_InvalidCommandNameException(string commandName) { // Arrange var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); // Assert Assert.Throws <InvalidCommandNameException>(() => mapper.AddCommand(x => x.Command, commandName) ); }
internal void AddCommand_Should_Throw_ArgumentException_When_Property_Method() { // Arrange var mapper = new ArgsMapper <OneCommandMethodWithOneBoolOptionArgs>(); // Assert Assert.Throws <ArgumentException>(() => mapper.AddCommand(x => x.Command()) ); }
internal void Usage_AddCommand_Usage_AddSection_AddHelpOption_With_Settings() { var mapper = new ArgsMapper <OneCommandWithOneBoolOptionArgs>(); mapper.AddCommand(x => x.Command, commandSettings => { commandSettings.Usage.AddSection("header", section => { section.AddHelpOption(settings => { }); }); }); }
internal void Usage_AddCommand_AddSubCommand_Usage_AddEmptyLine() { var mapper = new ArgsMapper <OneCommandWithOneClassWithOneBoolOption>(); mapper.AddCommand(x => x.Command, commandSettings => { commandSettings.AddSubcommand(x => x.Command, subcommandSettings => { subcommandSettings.Usage.AddEmptyLine(); }); }); }
private static void Main(string[] args) { var mapper = new ArgsMapper <Args>(); mapper.AddCommand(x => x.AddUser, commandSettings => { commandSettings.AddOption(x => x.Username); commandSettings.AddOption(x => x.Password); }); mapper.Execute(args, OnSuccess, OnError); }
internal void Execute_OnError_Result_Should_Have_ErrorMessage() { // Arrange var mapper = new ArgsMapper <OneBoolOptionArgs>(); // Act mapper.Execute(new[] { "--option" }, null, errorResult => { // Assert Assert.Equal("Unknown option '--option'.", errorResult.ErrorMessage); }); }