public void ForSetup_AsOptional_SetsDefaultTranslator() { var parser = new CommandLineParser <TestOptions>(); var info = new OptionInfo("Path", typeof(string)); var setup = new OptionSetup <TestOptions, string>(parser, info); setup.AsOptional("Path to files", "-p", "--path"); info.TranslatorType.Name.ShouldContain("DefaultTranslator"); }
public void ForSetup_AsOptional_SetsIsOptionalTrue() { var parser = new CommandLineParser <TestOptions>(); var info = new OptionInfo("Path", typeof(string)); var setup = new OptionSetup <TestOptions, string>(parser, info); setup.AsOptional("Path to files", "-p", "--path"); info.IsOptional.ShouldBeTrue(); }
public void ForSetupWithDefault_AsOptional_SetsDefaultValue() { var parser = new CommandLineParser <TestOptions>(); var info = new OptionInfo("Path", typeof(string)); var setup = new OptionSetup <TestOptions, string>(parser, info); setup.AsOptional("Path to files", "-p", "--path", @"c:\temp"); info.DefaultValue.ShouldBe(@"c:\temp"); }
public void ForSetupWithTranslator_AsOptional_SetsTranslator() { var parser = new CommandLineParser <TestOptions>(); var info = new OptionInfo("Loggers", typeof(string[])); var setup = new OptionSetup <TestOptions, string[]>(parser, info); setup.AsOptional <TestLoggerListTranslator>("List of loggers", "-l", "--loggers"); info.TranslatorType.Name.ShouldContain("TestLoggerListTranslator"); }
public void InvalidOptions_AsOptional_ThrowsException(string shortOption, string longOption) { var parser = new CommandLineParser <TestOptions>(); var info = new OptionInfo("Path", typeof(string)); var setup = new OptionSetup <TestOptions, string>(parser, info); var error = Should.Throw <ArgumentException>( () => setup.AsOptional("Path to files", shortOption, longOption)); error.Message.ShouldContain("You must provide either a short and/or long option."); }