コード例 #1
0
ファイル: WalkTests.cs プロジェクト: saveenr/GenTreeOps
        public void Walk_3()
        {
            var n0 = new XNode("A");
            var n1 = new XNode("B");
            var n2 = new XNode("C");
            var n3 = new XNode("D");

            n0.Children.Add(n1);
            n0.Children.Add(n2);
            n2.Children.Add(n3);

            var events = GenTreeOps.Algorithms.Walk(n0, n => n.Children).ToList();

            Assert.AreEqual(4 * 2, events.Count);


            // enter A
            AssertX.AssertEnter(n0, events[0]);
            AssertX.AssertEnter(n1, events[1]);
            AssertX.AssertExit(n1, events[2]);
            AssertX.AssertEnter(n2, events[3]);
            AssertX.AssertEnter(n3, events[4]);
            AssertX.AssertExit(n3, events[5]);
            AssertX.AssertExit(n2, events[6]);
            AssertX.AssertExit(n0, events[7]);
        }
コード例 #2
0
ファイル: WalkTests.cs プロジェクト: saveenr/GenTreeOps
        public void Walk_1()
        {
            var n0     = new XNode("A");
            var events = GenTreeOps.Algorithms.Walk(n0, n => n.Children).ToList();

            AssertX.AssertEnter(n0, events[0]);
            AssertX.AssertExit(n0, events[1]);
        }
コード例 #3
0
ファイル: WalkTests.cs プロジェクト: saveenr/GenTreeOps
        public void Walk_2()
        {
            var n0 = new XNode("A");
            var n1 = new XNode("B");

            n0.Children.Add(n1);

            var events = GenTreeOps.Algorithms.Walk(n0, n => n.Children).ToList();

            Assert.AreEqual(4, events.Count);

            AssertX.AssertEnter(n0, events[0]);
            AssertX.AssertEnter(n1, events[1]);
            AssertX.AssertExit(n1, events[2]);
            AssertX.AssertExit(n0, events[3]);
        }