コード例 #1
0
        public void AddListWithSyntax()
        {
            var uut = new ValueTable()
            {
                MirrorSyntax = new DocumentSyntax(),
            };

            uut.AddListWithSyntax("NewList");

            var content = uut.MirrorSyntax.ToString();

            Assert.Equal("NewList = [\n]\n", content);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
            }
        }