public void ForSetupWithTranslator_AsRequired_SetsTranslator() { var parser = new CommandLineParser <TestOptions>(); var info = new OptionInfo("Loggers", typeof(string[])); var setup = new OptionSetup <TestOptions, string[]>(parser, info); setup.AsRequired <TestLoggerListTranslator>("List of loggers", "-l", "--loggers"); info.TranslatorType.Name.ShouldContain("TestLoggerListTranslator"); }
public void ForSetup_AsRequired_SetsDefaultTranslator() { var parser = new CommandLineParser <TestOptions>(); var info = new OptionInfo("Path", typeof(string)); var setup = new OptionSetup <TestOptions, string>(parser, info); setup.AsRequired("Path to files", "-p", "--path"); info.TranslatorType.Name.ShouldContain("DefaultTranslator"); }
public void ForSetupWithDefault_AsRequired_SetsDefaultValue() { var parser = new CommandLineParser <TestOptions>(); var info = new OptionInfo("Path", typeof(string)); var setup = new OptionSetup <TestOptions, string>(parser, info); setup.AsRequired("Path to files", "-p", "--path", @"c:\temp"); info.DefaultValue.ShouldBe(@"c:\temp"); }
public void ForSetup_AsRequired_SetsIsOptionalFalse() { var parser = new CommandLineParser <TestOptions>(); var info = new OptionInfo("Path", typeof(string)); var setup = new OptionSetup <TestOptions, string>(parser, info); setup.AsRequired("Path to files", "-p", "--path"); info.IsOptional.ShouldBeFalse(); }
public void InvalidOptions_AsRequired_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.AsRequired("Path to files", shortOption, longOption)); error.Message.ShouldContain("You must provide either a short and/or long option."); }