Esempio n. 1
0
        public void InvertTree_EmptyTree_ShouldReturnEmptyTree()
        {
            TreeNode tree = null;

            var result = InvertTreeImplementation.InvertTree(tree);

            Assert.Null(result);
        }
Esempio n. 2
0
        public void InvertTree_RootTree_ShouldReturnRootTree()
        {
            TreeNode tree = new TreeNode(21);

            var result = InvertTreeImplementation.InvertTree(tree);

            var expectedResult = new TreeNode(21);

            Assert.True(tree.Equals(expectedResult) && expectedResult.Equals(tree));
        }
Esempio n. 3
0
        public void InvertTree_WithEmptyLeaf_ShouldInvertTree()
        {
            var tree = new TreeNode(4);

            tree.left       = new TreeNode(2);
            tree.right      = new TreeNode(7);
            tree.left.left  = new TreeNode(1);
            tree.left.right = new TreeNode(3);
            tree.right.left = new TreeNode(6);

            var result = InvertTreeImplementation.InvertTree(tree);

            var expectedTree = new TreeNode(4);

            expectedTree.left        = new TreeNode(7);
            expectedTree.right       = new TreeNode(2);
            expectedTree.left.right  = new TreeNode(6);
            expectedTree.right.left  = new TreeNode(3);
            expectedTree.right.right = new TreeNode(1);

            Assert.True(result.Equals(expectedTree) && expectedTree.Equals(result));
        }