# Exam 3 tests - pair_up (8 of 20 points)

import pytest
from exam3 import pair_up

@pytest.mark.parametrize("lst, expected", [
    ([10, 20], [(10, 20)]),
    ([1, 2, 3, 4], [(1, 2), (3, 4)]),
    ([1, 2, 3, 4, 5], [(1, 2), (3, 4), (5,)]),
    ([1, 2, 3, 4, 5, 6, 7], [(1, 2), (3, 4), (5, 6), (7,)]),
    (['a', 'b', 'c'], [('a', 'b'), ('c',)]),
    ([1], [(1,)]),
    ([], []),
    ([1.5, 2.5, 3.5, 4.5, 5.5, 6.5], [(1.5, 2.5), (3.5, 4.5), (5.5, 6.5)]),
])
def test_pair_up(lst, expected):
    assert pair_up(lst) == expected

if __name__ == "__main__":
    pytest.main(["pair_up_test.py", "-vv", "-p", "no:faulthandler"])
