Esempio n. 1
0
    def test_numeric_input(self):
        """Test error message when user inputs numbers."""
        self.choice.return_value = "ant"
        self.input.side_effect = list("a2nt" "n")

        gallows.main()

        self.xprint.assert_any_call('Please enter a LETTER.')
Esempio n. 2
0
    def test_multiple_char_input(self):
        """Test error message when user inputs multiple characters."""
        self.choice.return_value = "ant"
        self.input.side_effect = ["a", "nt", "n", "t", ] + ["n"]

        gallows.main()

        self.xprint.assert_any_call('Please enter a single letter.')
Esempio n. 3
0
    def test_numeric_input(self):
        """Test error message when user inputs numbers."""
        self.choice.return_value = "ant"
        self.input.side_effect = list("a2nt" "n")

        gallows.main()

        self.xprint.assert_any_call('Please enter a LETTER.')
Esempio n. 4
0
    def test_lose(self):
        """Test user lose scenario."""
        self.choice.return_value = "ant"
        self.input.side_effect = list("bcdefg" "n")

        gallows.main()

        self.xprint.assert_any_call('You have run out of guesses!')
Esempio n. 5
0
    def test_lose(self):
        """Test user lose scenario."""
        self.choice.return_value = "ant" 
        self.input.side_effect = list("bcdefg" "n")

        gallows.main()

        self.xprint.assert_any_call('You have run out of guesses!')
Esempio n. 6
0
    def test_out_of_order(self):
        """Test win scenario with out of order input of letters."""
        self.choice.return_value = "ant"
        self.input.side_effect = list("tan" "n")

        gallows.main()

        self.xprint.assert_any_call('Yes! The secret word is "ant"! '
                                    'You have won!')
Esempio n. 7
0
    def test_win(self):
        """Test user win scenario."""
        self.choice.return_value = "ant"
        self.input.side_effect = list("ant" "n")

        gallows.main()

        self.xprint.assert_any_call('Yes! The secret word is "ant"! '
                                    'You have won!')
Esempio n. 8
0
    def test_same_letter_twice(self):
        """Test error message when user enters same letter twice."""
        self.choice.return_value = "ant"
        self.input.side_effect = list("anntn")

        gallows.main()

        self.xprint.assert_any_call("You have already guessed that letter. "
                                    "Choose again.")
Esempio n. 9
0
    def test_same_letter_twice(self):
        """Test error message when user enters same letter twice."""
        self.choice.return_value = "ant"
        self.input.side_effect = list("anntn")

        gallows.main()

        self.xprint.assert_any_call("You have already guessed that letter. "
                                    "Choose again.")
Esempio n. 10
0
    def test_out_of_order(self):
        """Test win scenario with out of order input of letters."""
        self.choice.return_value = "ant"
        self.input.side_effect = list("tan" "n")

        gallows.main()

        self.xprint.assert_any_call('Yes! The secret word is "ant"! '
                                    'You have won!')
Esempio n. 11
0
    def test_win(self):
        """Test user win scenario."""
        self.choice.return_value = "ant"
        self.input.side_effect = list("ant" "n")

        gallows.main()

        self.xprint.assert_any_call('Yes! The secret word is "ant"! '
                                    'You have won!')
Esempio n. 12
0
    def test_two_game(self):
        """Test two winning game plays."""
        self.choice.side_effect = ["ant", "baboon"]
        self.input.side_effect = list("ant" "y" "babon" "n")

        gallows.main()

        self.xprint.assert_any_call('Yes! The secret word is "ant"! '
                                    'You have won!')
        self.xprint.assert_any_call('Yes! The secret word is "baboon"! '
                                    'You have won!')
Esempio n. 13
0
    def test_two_game(self):
        """Test two winning game plays."""
        from itertools import chain
        self.choice.side_effect = ["ant", "baboon"]
        self.input.side_effect = chain(list("ant"), ["yes"], list("babon"), ["no"])

        gallows.main()

        self.xprint.assert_any_call('Yes! The secret word is "ant"! '
                                    'You have won!')
        self.xprint.assert_any_call('Yes! The secret word is "baboon"! '
                                    'You have won!')
Esempio n. 14
0
    def test_two_game(self):
        """Test two winning game plays."""
        from itertools import chain
        self.choice.side_effect = ["ant", "baboon"]
        self.input.side_effect = chain(list("ant"), ["yes"], list("babon"),
                                       ["no"])

        gallows.main()

        self.xprint.assert_any_call('Yes! The secret word is "ant"! '
                                    'You have won!')
        self.xprint.assert_any_call('Yes! The secret word is "baboon"! '
                                    'You have won!')
Esempio n. 15
0
    def test_multiple_char_input(self):
        """Test error message when user inputs multiple characters."""
        self.choice.return_value = "ant"
        self.input.side_effect = [
            "a",
            "nt",
            "n",
            "t",
        ] + ["n"]

        gallows.main()

        self.xprint.assert_any_call('Please enter a single letter.')
Esempio n. 16
0
def test_main_win(capsys):
    with mock.patch('builtins.input', side_effect=['%', 'B', 'L', 'A']):
        gallows.main(word)
        captured = capsys.readouterr()
        assert 'Congratulations! You win!' in captured.out
Esempio n. 17
0
def test_main_lose(capsys):
    with mock.patch('builtins.input', side_effect=['e', 'r', 'r', 'o']):
        gallows.main(word)
        captured = capsys.readouterr()
        assert 'You lose!' in captured.out