public void Test_Remove_When_Element_Has_Children_Size_Is_Larger() { //Given var tree = new BinaryTreeCollection <int>(3) { 12, 11, 13, 5, 6, 7, 8, 9, 10, 2, 3, 4, 0, 1 }; //When tree.Remove(6); //Then Assert.Equal(new[] { 0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13 }, tree.InOrderTraversal()); }
public void Test_InOrderTraversal_Empty_Tree() { //Given var tree = new BinaryTreeCollection <int>(); //Then Assert.Empty(tree.InOrderTraversal()); }
public void Test_InOrderTraversal_Tree_Has_1_Node() { //Given var tree = new BinaryTreeCollection <int>(); //When tree.Add(4); //Then Assert.Equal(new[] { 4 }, tree.InOrderTraversal()); }
public void Test_Array_Of_Values_When_Size_Is_1() { //Given, when var tree = new BinaryTreeCollection <int>(1) { 1 }; //Then Assert.Equal(new[] { 1 }, tree.InOrderTraversal()); }
public void Test_Size_Is_2_Add_Method_should_FILL_current_Array_before_proceeding() { //Given, when var tree = new BinaryTreeCollection <int>(2) { 1, 2 }; //Then Assert.Equal(new[] { 1, 2 }, tree.InOrderTraversal()); }
public void Test_Size_Is_1_Add_Method_after_2_elements_have_been_added() { //Given, when var tree = new BinaryTreeCollection <int>(1) { 1, 2 }; //Then Assert.Equal(new[] { 1, 2 }, tree.InOrderTraversal()); }
public void Test_InOrderTraversal_Root_Has_1_Right_Child() { //Given var tree = new BinaryTreeCollection <int>() { 4 }; //When tree.Add(6); //Then Assert.Equal(new[] { 4, 6 }, tree.InOrderTraversal()); }
public void Test_InOrderTraversal_Root_Has_2_Children() { //Given var tree = new BinaryTreeCollection <int>() { 4 }; //When tree.Add(2); tree.Add(5); //Then Assert.Equal(new[] { 2, 4, 5 }, tree.InOrderTraversal()); }
public void Test_RemoveChild_Method_Remove_LEAF_When_Tree_Has_3_Nodes() { //Given var tree = new BinaryTreeCollection <int> { 2, 1, 3 }; //Then Assert.True(tree.Remove(3)); Assert.Equal(new[] { 1, 2 }, tree.InOrderTraversal()); }
public void Test_AddMethod_Should_Correctly_Shift_Elements_When_Size_Is_2() { //Given var tree = new BinaryTreeCollection <int>(2) { 2, 0, 3, 4, }; //Then Assert.Equal(new[] { 0, 2, 3, 4 }, tree.InOrderTraversal()); }
public void Test_PreOrderTraversal_When_Size_Is_2_() { //Given var tree = new BinaryTreeCollection <int>(2) { 1, 2, 3, 4 }; //Then Assert.Equal(new[] { 1, 2, 3, 4 }, tree.InOrderTraversal()); }
public void Test_RemoveChild_When_Node_Is_ROOT_And_Has_2_Children() { //Given var tree = new BinaryTreeCollection <int> { 5, 3, 6, }; //When tree.Remove(5); //Then Assert.Equal(new[] { 3, 6 }, tree.InOrderTraversal()); }
public void Test_RemoveChild_When_NODE_is_ROOT_and_has_only_1_child() { //Given var tree = new BinaryTreeCollection <int> { 2, 3, 4, 5 }; //Then Assert.True(tree.Remove(2)); Assert.Equal(new[] { 3, 4, 5 }, tree.InOrderTraversal()); }
public void Test_RemoveChild_When_Node_is_ROOT_and_has_Only_Left_Children() { //Given var tree = new BinaryTreeCollection <int> { 2, 1, 0, -1 }; //Then Assert.True(tree.Remove(2)); Assert.Equal(new[] { -1, 0, 1 }, tree.InOrderTraversal()); }
public void Test_AddMethod_For_Edge_Case_When_Size_Is_2() { //Given var tree = new BinaryTreeCollection <int>(2) { 1, 3, 4, 5, 2, }; //Then Assert.Equal(new[] { 1, 2, 3, 4, 5 }, tree.InOrderTraversal()); }
public void Test_DataArray_Should_Not_Lose_Last_Element_After_Addition() { //Given var tree = new BinaryTreeCollection <int>(2) { 1, 2, 3, 4, 5 }; //Then Assert.Equal(new[] { 1, 2, 3, 4, 5 }, tree.InOrderTraversal()); }
public void Test_Add_Method_For_Edge_Case() { //Given var tree = new BinaryTreeCollection <int> { 5, 2, 6, 4, 3 }; //Then Assert.Equal(new[] { 6, 5, 4, 3, 2 }, tree.PostOrderTraversal()); Assert.Equal(new[] { 2, 3, 4, 5, 6 }, tree.InOrderTraversal()); }
public void Test_InsertChild_Should_Correctly_Add_Elements_Repeatedely_As_Left_Children() { //Given var tree = new BinaryTreeCollection <int>(); //When tree.Add(10); tree.Add(9); tree.Add(8); tree.Add(7); tree.Add(6); tree.Add(5); //Then Assert.Equal(new[] { 5, 6, 7, 8, 9, 10 }, tree.InOrderTraversal()); Assert.Equal(6, tree.Count); }
public void Test_InOrderTraversal_Unbalanced_Tree() { //Given, Whwn var tree = new BinaryTreeCollection <int> { 4, 3, 2, 0, -1, 6 }; //Then Assert.Equal(new[] { -1, 0, 2, 3, 4, 6 }, tree.InOrderTraversal()); }
public void Test_RemoveChild_When_Node_Has_Only_Left_Children() { //Given var tree = new BinaryTreeCollection <int> { 6, 4, 2, 1, 3 }; //Then Assert.True(tree.Remove(4)); Assert.Equal(new[] { 1, 2, 3, 6 }, tree.InOrderTraversal()); }
public void Test_InsertChild_Should_Correctly_Add_Elements_Repeatedely_As_Right_Children() { //Given var tree = new BinaryTreeCollection <int>(); //When tree.Add(1); tree.Add(2); tree.Add(3); tree.Add(4); tree.Add(5); tree.Add(6); //Then Assert.Equal(new[] { 1, 2, 3, 4, 5, 6 }, tree.InOrderTraversal()); Assert.Equal(6, tree.Count); }
public void Test_InsertChild_Should_Correctly_Add_More_Children_To_Root() { //When var tree = new BinaryTreeCollection <int> { 4, 2, 1, 3, 5, 6 }; //Then Assert.Equal(new[] { 1, 2, 3, 4, 5, 6 }, tree.InOrderTraversal()); Assert.Equal(6, tree.Count); }
public void Test_Clear_Method_Should_Properly_Work_for_a_random_case() { //Given var tree = new BinaryTreeCollection <int> { 5, 3, 2, 6, 4 }; //When tree.Clear(); //Then Assert.Empty(tree.InOrderTraversal()); }
public void Test_RemoveChild_Method_Should_Return_TRUE_When_Removed_Node_Is_Left_Leaf() { //Given var node = new Node <int>(3); var tree = new BinaryTreeCollection <int> { 5, 2, 6, 1, node.FirstValue, }; //Then Assert.True(tree.Remove(node.FirstValue)); Assert.Equal(new[] { 1, 2, 5, 6 }, tree.InOrderTraversal()); }
public void Test_RemoveChild_Edge_Case() { //Given var tree = new BinaryTreeCollection <int> { -1, 2, 0, 1, 3 }; //When tree.Remove(2); //Then Assert.Equal(new[] { -1, 0, 1, 3 }, tree.InOrderTraversal()); }
public void Test_RemoveChild_Method_Should_Work_Correctly_When_Node_Has_1_Child() { //Given var tree = new BinaryTreeCollection <int> { 2, 1, 3, 4, 5, 6 }; //Then Assert.True(tree.Remove(4)); Assert.Equal(new[] { 1, 2, 3, 5, 6 }, tree.InOrderTraversal()); }
public void Test_RemoveMethod_When_Node_Is_Root_Size_Is_2() { //Given var tree = new BinaryTreeCollection <int>(2) { 4, 5, 2, 3, 6, 7 }; //When Assert.True(tree.Remove(4)); //Then Assert.Equal(new[] { 2, 3, 5, 6, 7 }, tree.InOrderTraversal()); }
public void Test_Remove__Element_Is_Leaf_Should_correctly_remove_Middle_element() { //Given var tree = new BinaryTreeCollection <int>(3) { 3, 5, 6, 7, 8, 9 }; //When tree.Remove(8); //Then Assert.Equal(new[] { 3, 5, 6, 7, 9 }, tree.InOrderTraversal()); }
public void Test_Remove__Element_Has_One_Right_Child_Should_correctly_remove_LAST_element() { //Given var tree = new BinaryTreeCollection <int>(2) { 0, 1, 2, 3, 4, 5, }; //When tree.Remove(3); //Then Assert.Equal(new[] { 0, 1, 2, 4, 5 }, tree.InOrderTraversal()); }
public void Test_Remove_Should_Correctly_Work_When_Element_Is_Leaf() { //Given var tree = new BinaryTreeCollection <int>() { 3, 5, 6, 7, 8, 9 }; //When tree.Remove(9); //Then Assert.Equal(new[] { 3, 5, 6, 7, 8 }, tree.InOrderTraversal()); }