Exemple #1
0
        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);
        }
Exemple #2
0
        public void OnlyOneNodeInLinkedList()
        {
            MyLinkedListNode head = new MyLinkedListNode(1);

            DeleteDuplicatedLinkedNodes.Delete(ref head);
            Assert.Equal(1, head.Value);
            Assert.Null(head.Next);
        }
Exemple #3
0
        public void TestWithInvalidInput()
        {
            MyLinkedListNode head = null;

            Assert.Throws <ArgumentNullException>
            (
                () => DeleteDuplicatedLinkedNodes.Delete(ref head)
            );
        }
Exemple #4
0
        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);
        }