public void GetLastNode_should_return_the_last_node() { var myLinkedList = new MyLinkedList(); myLinkedList.AddToFirst("firstElement"); myLinkedList.AddToLast("secondElement"); myLinkedList.AddToLast("thirdElement"); var lastElement = myLinkedList.GetLastNode(); Assert.AreEqual(lastElement.Data, "thirdElement"); Assert.IsNull(lastElement.Next); }
public void GetNode_should_return_particular_node_with_specified_data() { var myLinkedList = new MyLinkedList(); myLinkedList.AddToFirst("firstElement"); myLinkedList.AddToLast("secondElement"); myLinkedList.AddToLast("thirdElement"); var secondElement = myLinkedList.GetNode("secondElement"); Assert.AreEqual(secondElement.Data, "secondElement"); Assert.AreEqual(secondElement.Next.Data, "thirdElement"); }
public void RemoveNode_should_remove_Node_from_the_list() { var myLinkedList = new MyLinkedList(); myLinkedList.AddToLast("firstElement"); myLinkedList.AddToLast("secondElement"); myLinkedList.AddToLast("thirdElement"); myLinkedList.RemoveNode("secondElement"); var firstNode = myLinkedList.GetFirstNode(); Assert.AreEqual(firstNode.Next.Data, "thirdElement"); }
public void AddToLast_should_append_data_to_the_list() { var myLinkedList = new MyLinkedList(); myLinkedList.AddToLast("firstElement"); myLinkedList.AddToLast("secondElement"); //get the head of the list var firstNode = myLinkedList.GetFirstNode(); Assert.AreEqual(firstNode.Data, "firstElement"); //verify if the secondElement is in the Next Pointer of the first Node Assert.AreEqual(firstNode.Next.Data, "secondElement"); }
public void ReverseNode_should_reverse_the_linked_list() { var myLinkedList = new MyLinkedList(); myLinkedList.AddToLast("firstElement"); myLinkedList.AddToLast("secondElement"); myLinkedList.AddToLast("thirdElement"); myLinkedList.AddToLast("fourthElement"); myLinkedList.ReverseNode(); var head = myLinkedList.GetFirstNode(); Assert.AreEqual(head.Data, "fourthElement"); var tail = myLinkedList.GetLastNode(); Assert.AreEqual(tail.Data, "firstElement"); }
public void InsertBefore_should_add_node_before_specified_node() { var myLinkedList = new MyLinkedList(); myLinkedList.AddToFirst("firstElement"); myLinkedList.AddToLast("thirdElement"); myLinkedList.InsertBefore("thirdElement", "secondElement"); //get node var secondElement = myLinkedList.GetNode("secondElement"); //verify that the secondElement is added before third Assert.AreEqual(secondElement.Next.Data, "thirdElement"); }
public void InsertBefore_should_throw_keyNotFound_exception_for_unknown_data() { var myLinkedList = new MyLinkedList(); myLinkedList.AddToFirst("firstElement"); myLinkedList.AddToLast("thirdElement"); try { myLinkedList.InsertBefore("secondElement", "secondElement"); Assert.Fail("Exception not thrown"); } catch (KeyNotFoundException ex) { Assert.IsNotNull(ex); Assert.AreEqual(ex.Message, "Node not Found"); } }