Пример #1
0
        public void TestGetVisibleNodesFromLeft()
        {
            TreeNode <int> root_1 = new TreeNode <int>(8);

            root_1.LeftNode                     = new TreeNode <int>(3);
            root_1.RightNode                    = new TreeNode <int>(10);
            root_1.LeftNode.LeftNode            = new TreeNode <int>(1);
            root_1.LeftNode.RightNode           = new TreeNode <int>(6);
            root_1.RightNode.RightNode          = new TreeNode <int>(14);
            root_1.LeftNode.RightNode.LeftNode  = new TreeNode <int>(4);
            root_1.LeftNode.RightNode.RightNode = new TreeNode <int>(7);
            root_1.RightNode.RightNode.LeftNode = new TreeNode <int>(13);
            int expected_1 = 4;
            int output_1   = TreesAndGraphs.GetVisibleNodesFromLeft(root_1);

            Assert.AreEqual(expected_1, output_1);


            TreeNode <int> root_2 = new TreeNode <int>(10);

            root_2.LeftNode                              = new TreeNode <int>(8);
            root_2.RightNode                             = new TreeNode <int>(15);
            root_2.LeftNode.LeftNode                     = new TreeNode <int>(4);
            root_2.LeftNode.LeftNode.RightNode           = new TreeNode <int>(5);
            root_2.LeftNode.LeftNode.RightNode.RightNode = new TreeNode <int>(6);
            root_2.RightNode.LeftNode                    = new TreeNode <int>(14);
            root_2.RightNode.RightNode                   = new TreeNode <int>(16);

            int expected_2 = 5;
            int output_2   = TreesAndGraphs.GetVisibleNodesFromLeft(root_2);

            Assert.AreEqual(expected_2, output_2);
        }