Ejemplo 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.')
Ejemplo 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.')
Ejemplo 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.')
Ejemplo 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!')
Ejemplo 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!')
Ejemplo 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!')
Ejemplo 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!')
Ejemplo 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.")
Ejemplo 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.")
Ejemplo 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!')
Ejemplo 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!')
Ejemplo 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!')
Ejemplo 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!')
Ejemplo 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!')
Ejemplo 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.')
Ejemplo 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
Ejemplo 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