def test_game_winner(): p1 = Player() p2 = Player() game = Game(rng, p1, p2) p1.score = 90 p2.score = 101 assert game.winner() == p2
def test_game_can_play_entire_game(): game = Game(roll_die, StopAt20Player(), StopAt20Player()) game.start_game() scores = sorted(game.scores) assert scores[0] < 100 assert scores[1] >= 100
def test_game_round_works_if_player_roll_a_1(): game = Game(programmable_die([6, 6, 1]), StopAt20Player(), StopAt20Player()) game._current_player = 0 game.play_round() assert game.scores == [0, 0]
def test_game_goes_until_there_is_a_winner(): random.seed() p1 = StopAtThreePlayer() p2 = TestPlayer() game = Game(p1, p2) game.start() assert game.winner() is not None
def test_game_goes_until_there_is_a_winner(): random.seed() p1 = StopAtThreePlayer() p2 = TestPlayer() game = Game(NonRandom(), p1, p2) game.start() assert game.winner() is p1
def test_current_player(): p1 = Player() p2 = Player() game = Game(rng, p1, p2) assert game.current_player == p1 game.switch_players() assert game.current_player == p2 game.switch_players() assert game.current_player == p1
def test_game_round_works(): game = Game(always_roll_6, StopAt20Player(), StopAt20Player()) game._current_player = 0 game.play_round() assert game.scores == [24, 0]
def test_get_first_player(): new_game = Game() assert new_game.choose_first_player() == new_game.player1 or new_game.cpu
def test_random_returns_num(): game = Game() player = Player(0, 0) computer = Player(0, 0, True) assert game.get_player() in [player, computer]