public void GenerateClass(bool addVerbToClassName, string verb, params string[] expectedLines) { var gc = new CliOptionsClassGenerator(); gc.GenerateClass(Settings, new ParsedDefinitionList() { Description = "comment" }, "Namespace", "Class", addVerbToClassName, verb == null ? null : new ParsedVerb() { Name = verb, DefinitionItem = new LoxSmoke.Cli.Model.CliDefinitionItem() }, new List <ParsedItem>()); var lines = gc.Code.Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries).ToList(); Assert.Equal(expectedLines.ToList(), lines); }
public void GenerateProperties() { var list = new List <ParsedItem>() { new ParsedValueOption() { ValueName = "value", DefinitionItem = new LoxSmoke.Cli.Model.CliDefinitionItem() }, new ParsedSwitch() { Name = "switch1", DefinitionItem = new LoxSmoke.Cli.Model.CliDefinitionItem() }, new ParsedScalar() { Name = "switch2", ValueName = "value2", DefinitionItem = new LoxSmoke.Cli.Model.CliDefinitionItem() } }; var gc = new CliOptionsClassGenerator(); gc.GenerateProperties(list); var lines = gc.Code.Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries).ToList(); var expectedLines = new List <string>() { "[Value(0, MetaName = \"value\", Required = true, HelpText = \"\")]", "public string Value { get; set; }", "[Option(\"switch1\", Required = true, HelpText = \"\")]", "public bool Switch1 { get; set; }", "[Option(\"switch2\", Required = true, HelpText = \"\")]", "public string Value2 { get; set; }" }; Assert.Equal(expectedLines, lines); }
public void PropName(string name, string expectedResult) { var result = CliOptionsClassGenerator.PropName(name); Assert.Equal(expectedResult, result); }