def test_prints_success_message_if_all_letters_guessed(self, mock_stdout): # Arrange input_letters = [ 'n', 'a', 'm', 'w', 'o', 'n', 's', ] # Act with unittest.mock.patch('builtins.input', side_effect=input_letters): snowman('snowman') # Assert assert "you win" in mock_stdout.getvalue().lower()
def test_prints_failure_message_with_7_straight_wrong_guesses(self, mock_stdout): # Arrange input_letters = [ 'b', 'c', 'p', 'z', 'q', 'v', 'x', ] # Act with unittest.mock.patch('builtins.input', side_effect=input_letters): snowman('snowman') # Assert assert "you win" not in mock_stdout.getvalue().lower() assert "sorry, you lose! the word was snowman" in mock_stdout.getvalue().lower()
def test_prints_success_message_with_3_wrong_guesses_and_the_rest_right(self, mock_stdout): # Arrange input_letters = [ 's', 'n', 'b', 'o', 'w', 'm', 'a', 'q', 'v', 'n', ] # Act with unittest.mock.patch('builtins.input', side_effect=input_letters): snowman('snowman') # Assert assert "you win" in mock_stdout.getvalue().lower() assert "sorry, you lose! the word was snowman" not in mock_stdout.getvalue().lower()
import unittest if __name__ == '__main__': # Get a random word 5-8 letters long user_input = "" while user_input != "p" and user_input != "t": user_input = input('Please enter p to play or t to test => ') if user_input == "p": from game import snowman, SNOWMAN_MIN_WORD_LENGTH, SNOWMAN_MAX_WORD_LENGTH from wonderwords import RandomWord random_word_generator = RandomWord() snowman_word = random_word_generator.word( word_min_length=SNOWMAN_MIN_WORD_LENGTH, word_max_length=SNOWMAN_MAX_WORD_LENGTH) snowman(snowman_word) else: from game_test import * unittest.main()