Esempio n. 1
0
        public void TraverseTest()
        {
            var rootVal = new ValueElement("rootVal", new TextValue("rootVal"));
            var tblVal  = new ValueElement("tblVal", new IntegerValue(42));

            var tbl2Val = new ValueElement("tbl2Val", new RealValue(Math.PI));

            var tbl2 = new TableElement("tbl2", new[] { tbl2Val });
            var tbl  = new TableElement("tbl", new Element[] { tbl2, tblVal });
            var root = new TableElement("root", new Element[] { tbl, rootVal });


            var set = new HashSet <string>();

            foreach (var element in root.Traverse())
            {
                if (!set.Add(element.Identifier))
                {
                    Assert.False(true);
                }
            }

            set.Count.Is(5);
            set.Contains("tbl").IsTrue();
            set.Contains("tbl2").IsTrue();
            set.Contains("tbl2Val").IsTrue();
            set.Contains("tblVal").IsTrue();
            set.Contains("rootVal").IsTrue();
        }