Exemplo n.º 1
0
        public void TreeTraversal_IteratorAccessor_BuiltProperly()
        {
            var treeIter = TreeTraversal <TestTreePart> .CreateIterator(root);

            while (treeIter != TreeIter <TestTreePart> .End)
            {
                if (treeIter.Node == a_b_c)
                {
                    break;
                }

                ++treeIter;
            }

            Assert.AreSame(a_b_c, treeIter.Node);
            CollectionAssert.AreEqual(treeIter.NodePath, new[] { 0, 1, 2 });

            treeIter = TreeTraversal <TestTreePart> .CreateIterator(root);

            while (treeIter != TreeIter <TestTreePart> .End)
            {
                if (treeIter.Node == c_a_a)
                {
                    break;
                }

                ++treeIter;
            }

            Assert.AreSame(c_a_a, treeIter.Node);
            CollectionAssert.AreEqual(treeIter.NodePath, new[] { 2, 0, 0 });
        }