public void TestMergeTwoSortedListWithSameNumberOfNode() { SimpleLinkedListNode listA = new SimpleLinkedListNode(1); SimpleLinkedListNode listA2 = new SimpleLinkedListNode(4); SimpleLinkedListNode listA3 = new SimpleLinkedListNode(5); listA.SetNext(listA2); listA2.SetNext(listA3); SimpleLinkedListNode listB = new SimpleLinkedListNode(2); SimpleLinkedListNode listB2 = new SimpleLinkedListNode(3); SimpleLinkedListNode listB3 = new SimpleLinkedListNode(6); listB.SetNext(listB2); listB2.SetNext(listB3); MergeSortedList mergeSortedList = new MergeSortedList(); SimpleLinkedListNode listC = mergeSortedList.GetMergeSortedList(listA, listB); Assert.AreEqual(1, listC.value); listC = listC.Next; Assert.AreEqual(2, listC.value); listC = listC.Next; Assert.AreEqual(3, listC.value); listC = listC.Next; Assert.AreEqual(4, listC.value); listC = listC.Next; Assert.AreEqual(5, listC.value); listC = listC.Next; Assert.AreEqual(6, listC.value); }
public void TestFirstSecondBySort() { ListNode first = Helper.CreateLinkedList(new int[] { 1, 2, 3 }); ListNode second = Helper.CreateLinkedList(new int[] { 4, 5, 6 }); Assert.IsTrue(Helper.CompareLinkedList( Helper.CreateLinkedList(new int[] { 1, 2, 3, 4, 5, 6 }), MergeSortedList.Process(first, second))); first = Helper.CreateLinkedList(new int[] { 1, 2, 3 }); second = Helper.CreateLinkedList(new int[] { 4, 5, 6 }); Assert.IsTrue(Helper.CompareLinkedList( Helper.CreateLinkedList(new int[] { 1, 2, 3, 4, 5, 6 }), MergeSortedList.Process_Recursively(first, second))); }
public void TestFirstIsNull() { ListNode first = null; ListNode second = Helper.CreateLinkedList(new int[] { 2, 4, 6 }); Assert.IsTrue(Helper.CompareLinkedList( Helper.CreateLinkedList(new int[] { 2, 4, 6 }), MergeSortedList.Process(first, second))); first = null; second = Helper.CreateLinkedList(new int[] { 2, 4, 6 }); Assert.IsTrue(Helper.CompareLinkedList( Helper.CreateLinkedList(new int[] { 2, 4, 6 }), MergeSortedList.Process_Recursively(first, second))); }
public void TestOnlyOneNode() { ListNode first = new ListNode(2); ListNode second = new ListNode(1); Assert.IsTrue(Helper.CompareLinkedList( Helper.CreateLinkedList(new int[] { 1, 2 }), MergeSortedList.Process(first, second))); first = new ListNode(2); second = new ListNode(1); Assert.IsTrue(Helper.CompareLinkedList( Helper.CreateLinkedList(new int[] { 1, 2 }), MergeSortedList.Process_Recursively(first, second))); }
public void TestHasSameValue() { ListNode first = Helper.CreateLinkedList(new int[] { 1, 3, 5 }); ListNode second = Helper.CreateLinkedList(new int[] { 1, 3, 5 }); Assert.IsTrue(Helper.CompareLinkedList( Helper.CreateLinkedList(new int[] { 1, 1, 3, 3, 5, 5 }), MergeSortedList.Process(first, second))); first = Helper.CreateLinkedList(new int[] { 1, 3, 5 }); second = Helper.CreateLinkedList(new int[] { 1, 3, 5 }); Assert.IsTrue(Helper.CompareLinkedList( Helper.CreateLinkedList(new int[] { 1, 1, 3, 3, 5, 5 }), MergeSortedList.Process_Recursively(first, second))); }
public void TestNull() { Assert.IsNull(MergeSortedList.Process(null, null)); Assert.IsNull(MergeSortedList.Process_Recursively(null, null)); }