Пример #1
0
        public static EditPaneViewModel CreateDefinitions(string[] defs)
        {
            var defsd = DefinitionParser.CreateDefinitions(defs);

            var text =
                @"
# Definitions can be entered one-per-line
# E.g.
# DEF1=def1-value
# NAME=value
".Trim() + (Environment.NewLine)
                + string.Join(Environment.NewLine, defsd.Select(dd => $"{dd.Key}={dd.Value}"))
            ;
            var format = ModelFormat.Yaml.ToString();

            return(new EditPaneViewModel
            {
                Format = format,
                Text = text,
                ScribanName = ScribanNamespaces.DefinitionsNamespace,
                LinkedPath = string.Empty,
                AvailableFormats = new[] { format },
                PaneType = PaneType.Definitions,
                FileLinkage = FileLinkageTypes.None
            });
        }
Пример #2
0
        public void MissingValueReturnsEmptyString()
        {
            var d = DefinitionParser.CreateDefinitions(new[]
            {
                "ABC="
            });

            d["ABC"].Should().Be(string.Empty);
        }
Пример #3
0
        public void MissingIdThrows()
        {
            Action a = () => DefinitionParser.CreateDefinitions(new[]
            {
                "=  1  "
            });

            a.Should().Throw <ArgumentException>();
        }
Пример #4
0
        public void DefinitionValuesAreNotTrimmed()
        {
            var d = DefinitionParser.CreateDefinitions(new[]
            {
                "ABC=  1  "
            });

            d["ABC"].Should().Be("  1  ");
        }
Пример #5
0
        public void DefinitionIdsAreTrimmed()
        {
            var d = DefinitionParser.CreateDefinitions(new[]
            {
                "  A   =1"
            });

            d["A"].Should().Be("1");
        }
Пример #6
0
        public void SingleLetterDefinitionsWork()
        {
            var d = DefinitionParser.CreateDefinitions(new[]
            {
                "A=1"
            });

            d["A"].Should().Be("1");
        }
Пример #7
0
        public void DuplicateIdThrows()
        {
            Action a = () => DefinitionParser.CreateDefinitions(new[]
            {
                "ABC=123",
                "ABC =456",
            });

            a.Should().Throw <ArgumentException>();
        }
Пример #8
0
        public void WellFormedDefinitionsShouldParse()
        {
            var d = DefinitionParser.CreateDefinitions(new[]
            {
                "ABC=123",
                "DEF=456"
            });

            d["ABC"].Should().Be("123");
            d["DEF"].Should().Be("456");
        }