public void Should_inorder_traverse() { var tree = new BinaryTree <int>(); var node1 = new BinaryTreeNode <int>(3); var node2 = new BinaryTreeNode <int>(1); var node3 = new BinaryTreeNode <int>(4); var node4 = new BinaryTreeNode <int>(5); tree.Add(node1); tree.Add(node2); tree.Add(node3); tree.Add(node4); var result = tree.InOrderTraversal <int>(x => x); var expected = new List <int> { 1, 3, 4, 5 }; Assert.AreEqual(result, expected); }
public void Shoul_remove_leaf_node() { var tree = new BinaryTree <int>(); var node1 = new BinaryTreeNode <int>(3); var node2 = new BinaryTreeNode <int>(1); var node3 = new BinaryTreeNode <int>(4); tree.Add(node1); tree.Add(node2); tree.Add(node3); tree.Remove(4); Assert.AreEqual( tree.InOrderTraversal <int>(x => x), new List <int> { 1, 3 } ); }
public void Add_GivenTreeWithRootAndBiggerNumber_ShouldBeLocatedAsRight() { // Arrange var binaryTree = new BinaryTree(new Node(100)); var numberToAdd = 111; // Act binaryTree.Add(numberToAdd); // Assert Assert.AreEqual(numberToAdd, binaryTree.Root.Right.Value); }
public void Add_GivenTree_ShouldAddTheNumber() { // Arrange /* * 100 * 90 110 * 95 */ var binaryTree = new BinaryTree(new Node(100)); binaryTree.Add(90); binaryTree.Add(110); binaryTree.Add(95); // Assert Assert.AreEqual(90, binaryTree.Root.Left.Value); Assert.AreEqual(110, binaryTree.Root.Right.Value); Assert.AreEqual(95, binaryTree.Root.Left.Right.Value); }
public void Remove_Add10ElementsAndRemove4FromThese_CountIs6() { BinaryTree <int> testTree = new BinaryTree <int>(); testTree.Add(6); testTree.Add(34); testTree.Add(24); testTree.Add(663); testTree.Add(766); testTree.Add(35); testTree.Add(68); testTree.Add(97); testTree.Add(-24); testTree.Add(-17); testTree.Remove(34); testTree.Remove(68); testTree.Remove(35); testTree.Remove(97); Assert.Equal(6, testTree.Count); }
public void Should_add_one_node_to_tree() { var tree = new BinaryTree <int>(); tree.Add(new BinaryTreeNode <int>(5)); var treeValues = tree.GetEnumerator(); treeValues.MoveNext(); Assert.AreEqual(1, tree.Count); Assert.AreEqual(5, treeValues.Current); }
public void Should_remove_nonleaf_node() { var tree = new BinaryTree <int>(); var node1 = new BinaryTreeNode <int>(8); var node2 = new BinaryTreeNode <int>(5); var node3 = new BinaryTreeNode <int>(10); var node4 = new BinaryTreeNode <int>(2); tree.Add(node1); tree.Add(node2); tree.Add(node3); tree.Add(node4); tree.Remove(5); Assert.AreEqual( tree.InOrderTraversal <int>(x => x), new List <int> { 2, 8, 10 } ); }
public void Shoul_remove_root_node() { var tree = new BinaryTree <int>(); var node1 = new BinaryTreeNode <int>(3); tree.Add(node1); tree.Remove(3); Assert.AreEqual( tree.InOrderTraversal <int>(x => x), new List <int>() ); }
public void GetEnumerator_AddThreeElementAnd() { BinaryTree <int> testTree = new BinaryTree <int>(); testTree.Add(6); testTree.Add(34); testTree.Add(24); List <int> testList = new List <int>(); foreach (var x in testTree) { testList.Add(x); } List <int> list = new List <int>(); list.Add(6); list.Add(24); list.Add(34); Assert.Equal(testList, list); }
public void Delete_GivenRootWithNoSmallerValue_ShouldDeleteTheRoot() { // Arrange /* * 100 110 * 110 -> */ var binaryTree = new BinaryTree(new Node(100)); binaryTree.Add(110); // Act binaryTree.Delete(100); // Assert Assert.AreEqual(110, binaryTree.Root.Value); Assert.IsTrue(binaryTree.Root.IsLeaf); }
public void AddTest_MustAddOneElement() { //arrange int data = 1; //act bt.Add(data); //assert Assert.AreNotEqual(null, bt.GetHead()); }