예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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