private void FCANodeOfAnotherTreeTest()
        {
            TreeBinaryParentNode <int> tree2 = BuildParentTree.MinimalParentTree(new int[5] {
                1, 1, 2, 3, 0
            });

            TreeBinaryParentNode <int> firstNode   = (TreeBinaryParentNode <int>)tree.right;
            TreeBinaryParentNode <int> secondtNode = (TreeBinaryParentNode <int>)tree2.left;
            TreeBinaryParentNode <int> ancestor    = commonAncestor(firstNode, secondtNode);

            Assert.Null(ancestor);
        }
Exemple #2
0
        private static void TreeBinaryParentNodeBuildingTest()
        {
            int[] array = new int[7] {
                1, 5, 12, 4, 14, 28, 33
            };

            TreeBinaryParentNode <int> tree = BuildParentTree.MinimalParentTree(array);
            TreeBinaryParentNode <int> n    = (TreeBinaryParentNode <int>)tree.left.right;

            TreeBinaryParentNode <int> s = successor(n.parent);

            Assert.Equal(12, s.value);
            Assert.Equal(n, s);

            TreeBinaryParentNode <int> sIt = successorIt(n.parent);

            Assert.Equal(12, sIt.value);
            Assert.Equal(n, sIt);

            TreeBinaryParentNode <int> sn = successor(n);

            Assert.Equal(4, sn.value);
            Assert.Equal(sn, tree);

            TreeBinaryParentNode <int> snIt = successorIt(n);

            Assert.Equal(4, snIt.value);
            Assert.Equal(snIt, tree);

            TreeBinaryParentNode <int> lastNode = (TreeBinaryParentNode <int>)tree.right.right;

            Assert.Null(successor(lastNode));
            Assert.Null(successor(null));

            Assert.Null(successorIt(lastNode));
            Assert.Null(successorIt(null));
        }