예제 #1
0
        public void Tree_StartsEmpty()
        {
            var tree = new BinaryTreeImplementation();

            Assert.Equal(-1, tree.Height());
            Assert.Equal(0, tree.CountNodes());
        }
예제 #2
0
        public void Tree_ReturnsFalseIfTreeDoesNotContainElement()
        {
            var tree = new BinaryTreeImplementation();

            tree.Insert(30);
            tree.Insert(20);
            tree.Insert(40);
            Assert.False(tree.Contains(120));
        }
예제 #3
0
        public void Tree_ReturnsTrueIfTreeContainsElement()
        {
            var tree = new BinaryTreeImplementation();

            tree.Insert(30);
            tree.Insert(20);
            tree.Insert(40);
            Assert.True(tree.Contains(20));
        }
예제 #4
0
        public void Tree_CanGetMinimumValue()
        {
            var tree = new BinaryTreeImplementation();

            tree.Insert(30);
            tree.Insert(20);
            tree.Insert(40);
            Assert.Equal(20, tree.MinValue());
        }
예제 #5
0
        public void Tree_CanCountNodes()
        {
            var tree = new BinaryTreeImplementation();

            tree.Insert(30);
            tree.Insert(20);
            tree.Insert(40);
            Assert.Equal(3, tree.CountNodes());
            Assert.Equal(3, tree.CountNodesWithQueue());
        }
예제 #6
0
        public void Tree_CanInsertNodes()
        {
            var tree = new BinaryTreeImplementation();

            tree.Insert(30);
            tree.Insert(20);
            tree.Insert(40);

            Assert.Equal(1, tree.Height());
            Assert.Equal(1, tree.GetMaximumDepth());
        }