public void Test1()
        {
            var sol  = new BinaryTreeVerticalOrderTraversal();
            var root = new TreeNode(3)
            {
                left  = new TreeNode(9),
                right = new TreeNode(20)
                {
                    left  = new TreeNode(15),
                    right = new TreeNode(7)
                }
            };
            var ret = sol.VerticalOrder(root);
            IList <IList <int> > expected = new List <IList <int> >();

            expected.Add(new List <int>()
            {
                9
            });
            expected.Add(new List <int>()
            {
                3, 15
            });
            expected.Add(new List <int>()
            {
                20
            });
            expected.Add(new List <int>()
            {
                7
            });
            Utlilitiy.AssertAreEqual(expected, ret);
        }
示例#2
0
        public void VerticalOrderTraversalWhenSingleNodeResultsInSuccess()
        {
            TreeNode node   = new TreeNode(1);
            var      result = new BinaryTreeVerticalOrderTraversal().VerticalOrder(node);

            var expectedResult = new List <List <int> >()
            {
                new List <int> {
                    1
                }
            };

            var areEqual = CollectionsAreEqual.AreEqualListOfLists(result, expectedResult);

            Assert.IsTrue(areEqual);
        }
示例#3
0
        public void VerticalOrderTraversalResultsInSuccess()
        {
            var treeNode3  = new TreeNode(3);
            var treeNode9  = new TreeNode(9);
            var treeNode20 = new TreeNode(20);
            var treeNode15 = new TreeNode(15);
            var treeNode7  = new TreeNode(7);

            treeNode3.Left  = treeNode9;
            treeNode3.Right = treeNode20;


            treeNode20.Left  = treeNode15;
            treeNode20.Right = treeNode7;

            var expectedResult = new List <List <int> >()
            {
                new List <int> {
                    9
                },
                new List <int> {
                    3, 15
                },
                new List <int> {
                    20
                },
                new List <int> {
                    7
                }
            };


            var result = new BinaryTreeVerticalOrderTraversal().VerticalOrder(treeNode3);

            var areEqual = CollectionsAreEqual.AreEqualListOfLists(result, expectedResult);

            Assert.IsTrue(areEqual);
        }