def test_merge_two_lists_3(): l = make_list([2, 3, 4]) r = make_list([5, 6, 7]) s = module.Solution() result = s.mergeTwoLists(l[0], r[0]) assert same_values(result, [2, 3, 4, 5, 6, 7])
def test_merge_two_lists_4(): l = make_list([4, 5, 6]) r = make_list([1, 2, 3]) s = module.Solution() result = s.mergeTwoLists(l[0], r[0]) assert same_values(result, [1, 2, 3, 4, 5, 6])
def test_same_values(): values1 = [1, 2, 3, 4] values2 = [1, 2, 3, 4, 5] list1 = make_list(values1) list2 = make_list(values2) assert same_values(list1[0], values1) assert same_values(list2[0], values2) assert not same_values(list1[0], values2) assert not same_values(list2[0], values1)
def test_reverse_list(): l = make_list([1, 2, 3, 4, 5]) s = module.Solution() r = s.reverseList(l[0]) assert same_values(r, [5, 4, 3, 2, 1])
def test_make_list(): # l = 1->2->3->4->5->null l0 = ListNode(1) l1 = ListNode(2) l2 = ListNode(3) l3 = ListNode(4) l4 = ListNode(5) l0.next = l1 l1.next = l2 l2.next = l3 l3.next = l4 l = make_list([1, 2, 3, 4, 5]) assert len(l) == 5 for i, n in enumerate([1, 2, 3, 4, 5]): assert l[i] is not None assert l[i].val == n if i < 4: assert l[i].next == l[i + 1] assert l[4].next is None
def test_has_cycle_3(): l = make_list([1, 2]) l[1].next = l[0] s = module.Solution() assert s.hasCycle(l[0])
def test_has_cycle_2(): l = make_list([3, 2, 0, -1]) l[3].next = l[1] s = module.Solution() assert s.hasCycle(l[0])
def test_removeNthFromEnd1(): s = module.Solution() l = make_list([1, 2, 3, 4, 5]) r = s.removeNthFromEnd(l[0], 1) assert same_values(r, [1, 2, 3, 4])
def test_removeNthFromEnd3(): s = module.Solution() l = make_list([1, 2, 3]) r = s.removeNthFromEnd(l[0], 3) assert same_values(r, [2, 3])