def test_mergeLists_three(new_ll_iter, empty_new_list):
    """tests empty list in second position merges correctly"""
    a = new_ll_iter
    b = empty_new_list
    mergeLists(a, b)
    assert a.head._next._next.val is 3
def test_mergeLists_two(new_ll_iter, new_ll_iter_two):
    """tests two populated lists merge correcly"""
    a = new_ll_iter
    b = new_ll_iter_two
    mergeLists(a, b)
    assert a.head._next._next._next.val is 6
def test_mergeLists_one(empty_new_list, new_ll_iter):
    """tests empty list in first position and populated list merge correcly"""
    a = empty_new_list
    b = new_ll_iter
    mergeLists(a, b)
    assert a.head._next._next.val is 3
def test_mergeLists_xempty(empty_ll, n_linked_ll):
    """test for merging with empty list as first list """
    mergeLists(empty_ll, n_linked_ll)
    assert str(empty_ll) == str([1, 2, 3])
def test_mergeLists_dif_len(linked_list_zip, n_linked_ll):
    """ test for merge like zip """
    mergeLists(linked_list_zip, n_linked_ll)
    assert str(linked_list_zip) == str([9, 1, 8, 2, 7, 3, 6])
def test_mergeLists_yempty(empty_ll, n_linked_ll):
    """test for merging with empty list as second list """
    mergeLists(n_linked_ll, empty_ll)
    assert str(n_linked_ll) == str([1, 2, 3])