def test_small_straight_hands(self): state = GameState() card_piles = [[[Card("K", "h")], [Card("Q", "d")], [Card("A", "s")]], [[Card("2", "c")], [Card("A", "d")], [Card("J", "d")]], [[Card("3", "s")], [Card("T", "c")], [Card("5", "c")]]] state.start_new_game(lucky_card=Card("7", "h"), card_piles=card_piles) sm_straight_hands = state._get_sm_straight_hands() assert len(sm_straight_hands) == 5 assert set([(0, 0), (0, 1), (1, 1)]) in sm_straight_hands assert set([(0, 0), (0, 1), (1, 2)]) in sm_straight_hands assert set([(0, 1), (1, 2), (2, 1)]) in sm_straight_hands assert set([(0, 2), (1, 0), (2, 0)]) in sm_straight_hands assert set([(1, 0), (1, 1), (2, 0)]) in sm_straight_hands # this isn't a valid hand (the cards are on the same row) assert set([(0, 0), (0, 1), (0, 2)]) not in sm_straight_hands # the small straight can't wrap with K-A-2 assert set([(0, 0), (0, 2), (1, 0)]) not in sm_straight_hands assert set([(0, 0), (1, 0), (1, 1)]) not in sm_straight_hands