def test_score_wrong_match_and_card_not_already_seen(): game = Game(Terminal(), Difficulty.NORMAL) game.board[0][0] = Card(CardValue.THREE, Suit.SPADES) game.board[0][1] = Card(CardValue.TWO, Suit.HEARTS) game.selected = [(0, 0), (0, 1)] assert game.calculate_score() == 0 game.difficulty = Difficulty.HARD assert game.calculate_score() == -1
def test_score_increases_on_match(): game = Game(Terminal(), Difficulty.NORMAL) matched_card = Card(CardValue.ACE, Suit.CLUBS) game.board[0][0] = matched_card game.board[0][1] = matched_card game.selected = [(0, 0), (0, 1)] assert game.calculate_score() == 1 game.difficulty = Difficulty.HARD assert game.calculate_score() == 3
def test_score_wrong_match_second_card_when_card_already_seen(): game = Game(Terminal(), Difficulty.NORMAL) seen_card = Card(CardValue.TWO, Suit.HEARTS) game.board[0][0] = Card(CardValue.ACE, Suit.CLUBS) game.board[0][1] = seen_card game.selected = [(0, 0), (0, 1)] game.seen[seen_card] = [(0, 1)] assert game.calculate_score() == -1 game.difficulty = Difficulty.HARD assert game.calculate_score() == -2
def test_score_wrong_match_when_location_of_match_seen(): game = Game(Terminal(), Difficulty.NORMAL) card = Card(CardValue.ACE, Suit.CLUBS) other_card = Card(CardValue.TWO, Suit.HEARTS) game.board[0][0] = card game.board[0][1] = other_card game.selected = [(0, 0), (0, 1)] game.seen[card] = [(0, 2)] assert game.calculate_score() == -1 game.difficulty = Difficulty.HARD assert game.calculate_score() == -2