Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        public void PropName(string name, string expectedResult)
        {
            var result = CliOptionsClassGenerator.PropName(name);

            Assert.Equal(expectedResult, result);
        }