public void TestWithTailsDeleted() { MyLinkedListNode head = new MyLinkedListNode(1); MyLinkedListNode current = head; int[] source = { 1, 4, 5, 6, 8, 9, 20, 20, 20 }; for (int i = 1; i < source.Length; i++) { current.Next = new MyLinkedListNode(source[i]); current = current.Next; } DeleteDuplicatedLinkedNodes.Delete(ref head); MyLinkedListNode currentNode = head; int[] set = { 1, 4, 5, 6, 8, 9 }; for (int i = 0; i < set.Length; i++) { Assert.Equal(set[i], currentNode.Value); currentNode = currentNode.Next; } Assert.Null(currentNode); }
public void OnlyOneNodeInLinkedList() { MyLinkedListNode head = new MyLinkedListNode(1); DeleteDuplicatedLinkedNodes.Delete(ref head); Assert.Equal(1, head.Value); Assert.Null(head.Next); }
public void TestWithInvalidInput() { MyLinkedListNode head = null; Assert.Throws <ArgumentNullException> ( () => DeleteDuplicatedLinkedNodes.Delete(ref head) ); }
public void TestWithAllNodesDeleted() { MyLinkedListNode head = new MyLinkedListNode(4); MyLinkedListNode current = head; int[] source = { 4, 4, 4, 4, 4, 4 }; for (int i = 1; i < source.Length; i++) { current.Next = new MyLinkedListNode(source[i]); current = current.Next; } DeleteDuplicatedLinkedNodes.Delete(ref head); Assert.Null(head); }