Algorithmix.UnitTest.NodeTest.ValidateEdges C# (CSharp) Méthode

ValidateEdges() private static méthode

private static ValidateEdges ( INode node ) : bool
node INode
Résultat bool
        private static bool ValidateEdges(INode node)
        {
            if (node.IsLeaf())
            {
                return true;
            }

            // Get the expected
            var actualLeft = node.LeftEdge();
            var actualRight = node.RightEdge();

            INode left = node;
            INode right = node;
            while (!left.IsLeaf())
            {
                left = left.Left();
            }
            while (!right.IsLeaf())
            {
                right = right.Right();
            }

            var expectedLeft = left.LeftEdge();
            var expectedRight = right.RightEdge();

            Assert.IsTrue(actualLeft == expectedLeft);
            Assert.IsTrue(actualRight == expectedRight);

            if (actualLeft != expectedLeft || actualRight != expectedRight)
            {
                return false;
            }

            // Repeat for node children
            return ValidateEdges(node.Left()) && ValidateEdges(node.Right());
        }