def test_cut_negative(deck): assert cut(-4, deck) == [6, 7, 8, 9, 0, 1, 2, 3, 4, 5]
def test_cut_positive(deck): assert cut(3, deck) == [3, 4, 5, 6, 7, 8, 9, 0, 1, 2]
def test_cut(): deck = deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) assert cut(deck, 3) == deque([3, 4, 5, 6, 7, 8, 9, 0, 1, 2])
def test_cut_inv(): deck = [*range(10)] n = 3 cut_deck = day22.cut(deck, n) for pos, card in enumerate(cut_deck): assert day22.cut_inv(n, len(deck), pos) == card
def test_cut2(): deck = deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) assert cut(deck, -4) == deque([6, 7, 8, 9, 0, 1, 2, 3, 4, 5])