def test_game_loses_several_guesses(): game = HangmanGame(['Python'], number_of_guesses=3) attempt = game.guess('x') # Miss! assert attempt.is_miss() is True assert game.remaining_misses == 2 assert game.previous_guesses == ['x'] assert game.word.masked == '******' attempt = game.guess('z') # Miss! assert attempt.is_miss() is True assert game.remaining_misses == 1 assert game.previous_guesses == ['x', 'z'] assert game.word.masked == '******' with pytest.raises(GameLostException): game.guess('a') # Miss! assert game.is_finished() is True assert game.is_lost() is True assert game.is_won() is False assert game.remaining_misses == 0 assert game.previous_guesses == ['x', 'z', 'a'] assert game.word.masked == '******'
def test_game_wins_several_moves(): #pass game = HangmanGame(['abc']) attempt = game.guess('a') assert attempt.is_hit() is True assert game.remaining_misses == 5 assert game.previous_guesses == ['a'] assert game.word.masked == 'a**' attempt = game.guess('c') assert attempt.is_hit() is True assert game.remaining_misses == 5 assert game.previous_guesses == ['a', 'c'] assert game.word.masked == 'a*c' with pytest.raises(GameWonException): game.guess('b') assert game.is_finished() is True assert game.is_won() is True assert game.is_lost() is False assert game.remaining_misses == 5 assert game.previous_guesses == ['a', 'c', 'b'] assert game.word.masked == 'abc'
def test_game_already_lost_raises_game_finished(): game = HangmanGame(['Python'], number_of_guesses=1) with pytest.raises(GameLostException): game.guess('x') # Miss! assert game.is_finished() is True assert game.is_lost() is True assert game.is_won() is False with pytest.raises(GameFinishedException): game.guess('n')
def test_game_already_won_raises_game_finished(): game = HangmanGame(['aaa']) with pytest.raises(GameWonException): game.guess('a') assert game.is_finished() is True assert game.is_won() is True assert game.is_lost() is False with pytest.raises(GameFinishedException): game.guess('x')
def test_game_wins_first_try(): game = HangmanGame(['aaa']) with pytest.raises(GameWonException): game.guess('a') assert game.is_finished() is True assert game.is_won() is True assert game.is_lost() is False assert game.remaining_misses == 5 assert game.previous_guesses == ['a'] assert game.word.masked == 'aaa'
def test_game_loses_first_try(): #pass game = HangmanGame(['Python'], number_of_guesses=1) with pytest.raises(GameLostException): game.guess('x') # Miss! assert game.is_finished() is True assert game.is_lost() is True assert game.is_won() is False assert game.remaining_misses == 0 assert game.previous_guesses == ['x'] assert game.word.masked == '******'