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

            uut.AddTableWithSyntax("NewTable");

            var content = uut.MirrorSyntax.ToString();

            Assert.Equal("[NewTable]\n", content);
        }
コード例 #2
0
        public void AddTableAndListAndTableWithSyntax()
        {
            var uut = new ValueTable()
            {
                MirrorSyntax = new DocumentSyntax(),
            };

            var newTable  = uut.AddTableWithSyntax("NewTable");
            var newList   = newTable.AddListWithSyntax("NewList");
            var newTable2 = newList.AddTableWithSyntax();

            newTable2.AddItemWithSyntax("NewItem", "NewValue");

            var content = uut.MirrorSyntax.ToString();

            Assert.Equal("[NewTable]\nNewList = [\n\t{ NewItem = \"NewValue\" },\n]\n", content);
        }
コード例 #3
0
        private ValueTable EnsureHasTable(ValueTable table, string name)
        {
            if (table.ContainsKey(name))
            {
                var value = _table[name];
                if (value.Type != ValueType.Table)
                {
                    throw new InvalidOperationException("The package lock already has a non-table dependencies property");
                }

                // Find the Syntax for the table
                return((ValueTable)value.AsTable());
            }
            else
            {
                // Create a new table
                return(table.AddTableWithSyntax(name));
            }
        }