예제 #1
0
        public void Test_FindNode_Check_That_Node_Is_Found_When_Last_Element_Is_Called()
        {
            //Given
            var tree = new BinaryTreeCollection <int>(3)
            {
                3, 5, 6
            };
            //When
            var checkNode = tree.FindNode(6);

            //Then
            Assert.Equal(new[] { 3, 5, 6 }, checkNode);
        }
예제 #2
0
        public void Test_Remove_Node_Is_Leaf_Parent_should_have_SAME_CHILD()
        {
            //Given
            var tree = new BinaryTreeCollection <int>(3)
            {
                3,
                5,
                6,
                7,
                8,
                9
            };

            //When
            tree.Remove(9);
            Node <int> foundNode = tree.FindNode(5);

            //Then
            Assert.Equal(new[] { 7, 8 }, foundNode.Right);
        }
예제 #3
0
        public void Test_Remove_Node_Is_Leaf_Check_That_Parent_Child_Is_Null()
        {
            //Given
            var tree = new BinaryTreeCollection <int>()
            {
                3,
                5,
                6,
                7,
                8,
                9
            };

            //When
            tree.Remove(9);
            Node <int> foundNode = tree.FindNode(8);

            //Then
            Assert.Null(foundNode.Right);
        }
예제 #4
0
        public void Test_Remove__Element_Is_Leaf_Should_Use_Empty_Spaces_At_Next_Addition()
        {
            //Given
            var tree = new BinaryTreeCollection <int>(3)
            {
                3,
                5,
                6,
                7,
                8,
                9
            };

            //When
            tree.Remove(8);
            tree.Add(8);
            Node <int> foundNode = tree.FindNode(8);

            //Then
            Assert.Equal(new[] { 7, 8, 9 }, foundNode);
        }