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 }); }
public void MissingValueReturnsEmptyString() { var d = DefinitionParser.CreateDefinitions(new[] { "ABC=" }); d["ABC"].Should().Be(string.Empty); }
public void MissingIdThrows() { Action a = () => DefinitionParser.CreateDefinitions(new[] { "= 1 " }); a.Should().Throw <ArgumentException>(); }
public void DefinitionValuesAreNotTrimmed() { var d = DefinitionParser.CreateDefinitions(new[] { "ABC= 1 " }); d["ABC"].Should().Be(" 1 "); }
public void DefinitionIdsAreTrimmed() { var d = DefinitionParser.CreateDefinitions(new[] { " A =1" }); d["A"].Should().Be("1"); }
public void SingleLetterDefinitionsWork() { var d = DefinitionParser.CreateDefinitions(new[] { "A=1" }); d["A"].Should().Be("1"); }
public void DuplicateIdThrows() { Action a = () => DefinitionParser.CreateDefinitions(new[] { "ABC=123", "ABC =456", }); a.Should().Throw <ArgumentException>(); }
public void WellFormedDefinitionsShouldParse() { var d = DefinitionParser.CreateDefinitions(new[] { "ABC=123", "DEF=456" }); d["ABC"].Should().Be("123"); d["DEF"].Should().Be("456"); }