public void Reset_a_left_node_must_detach_older_one() { var root = new BinaryTreeSpec(1); var left = new BinaryTreeSpec(2); var left2 = new BinaryTreeSpec(3); root.SetLeft(left); root.SetLeft(left2); Assert.IsNull(left.Parent); Assert.AreEqual(root.Left.Value, left2.Value); }
private BinaryTreeSpec GetTree() { //root var root = new BinaryTreeSpec(1); //left tree var firstLvlLeftNode = new BinaryTreeSpec(2); var secondLvlLeftNodeLeft = new BinaryTreeSpec(2); var secondLvlLeftNodeRight = new BinaryTreeSpec(4); var thirdLvlLeftNode = new BinaryTreeSpec(5); root.SetLeft(firstLvlLeftNode); firstLvlLeftNode.SetLeft(secondLvlLeftNodeLeft); firstLvlLeftNode.SetRigth(secondLvlLeftNodeRight); secondLvlLeftNodeLeft.SetLeft(thirdLvlLeftNode); //right tree var firstLvlRightNode = new BinaryTreeSpec(3); var secondLvlRightNodeRight = new BinaryTreeSpec(7); var thirdLvlRightNode = new BinaryTreeSpec(10); root.SetRigth(firstLvlRightNode); firstLvlRightNode.SetRigth(secondLvlRightNodeRight); secondLvlRightNodeRight.SetLeft(thirdLvlRightNode); return(root); }
public void Set_left_node_must_set_HasLeft_property_true() { var root = new BinaryTreeSpec(1); var left = new BinaryTreeSpec(2); root.SetLeft(left); Assert.IsTrue(root.HasLeft); }
public void ToString_must_values_separate_by_a_dash() { var root = new BinaryTreeSpec(1); var left = new BinaryTreeSpec(2); var right = new BinaryTreeSpec(3); root.SetLeft(left); root.SetRigth(right); Assert.AreEqual(root.ToString(), "1 - 2 - 3"); }
public void Detach_left_node_must_clear_relationship_in_both_ways() { var root = new BinaryTreeSpec(1); var left = new BinaryTreeSpec(2); root.SetLeft(left); root.DetachLeftNode(); Assert.IsFalse(root.HasLeft); Assert.IsTrue(left.IsRoot); }
public void Set_null_value_to_left_node_must_throw_ArgumentNullException() { var root = new BinaryTreeSpec(1); root.SetLeft(null); }