def test_pair_hands(self): state = GameState() card_piles = [[[Card("2", "s")], [Card("K", "d")], [Card("K", "s")]], [[Card("3", "c")], [Card("A", "s")], [Card("6", "c")]], [[Card("3", "s")], [Card("A", "c")], [Card("K", "c")]]] state.start_new_game(lucky_card=Card("7", "h"), card_piles=card_piles) pair_hands = state._get_pair_hands() assert len(pair_hands) == 4 assert set([(0, 1), (2, 2)]) in pair_hands assert set([(0, 2), (2, 2)]) in pair_hands assert set([(1, 0), (2, 0)]) in pair_hands assert set([(1, 1), (2, 1)]) in pair_hands # this isn't a valid hand (the cards are on the same row) assert set([(0, 1), (0, 2)]) not in pair_hands