public void AddListWithSyntax() { var uut = new ValueTable() { MirrorSyntax = new DocumentSyntax(), }; uut.AddListWithSyntax("NewList"); var content = uut.MirrorSyntax.ToString(); Assert.Equal("NewList = [\n]\n", content); }
public void AddListAndTableAndItemWithSyntax() { var uut = new ValueTable() { MirrorSyntax = new DocumentSyntax(), }; var newList = uut.AddListWithSyntax("NewList"); var newTable = newList.AddTableWithSyntax(); newTable.AddItemWithSyntax("NewItem", "NewValue"); var content = uut.MirrorSyntax.ToString(); Assert.Equal("NewList = [\n\t{ NewItem = \"NewValue\" },\n]\n", content); }
private ValueList EnsureHasList(ValueTable table, string name) { if (table.ContainsKey(name)) { var value = table[name]; if (value.Type != ValueType.List) { throw new InvalidOperationException($"The package lock already has a non-list {name} property"); } // Find the Syntax for the table return((ValueList)value.AsList()); } else { // Create a new list return(table.AddListWithSyntax(name)); } }