Ejemplo n.º 1
0
 def setUp(self):
     self.chosen_output = StringIO()
     self.io = InputOutput(None, self.chosen_output)
     self.presenter = Presenter(self.io)
Ejemplo n.º 2
0
 def setUp(self):
     self.chosen_output = StringIO()
     self.io = InputOutput(None, self.chosen_output)
     self.presenter = Presenter(self.io)
Ejemplo n.º 3
0
class PresenterTests(unittest.TestCase):

    def setUp(self):
        self.chosen_output = StringIO()
        self.io = InputOutput(None, self.chosen_output)
        self.presenter = Presenter(self.io)

    def test_presenting_the_welcome_message(self):
        expected_welcome = "Welcome to Tic Tac Toe\n\n"
        self.presenter.welcome_message()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_welcome)

    def test_presenting_the_winner_message(self):
        expected_winner_message = "O has won the game!\n\n"
        self.presenter.winner_message("O")
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_winner_message)

    def test_presenting_invalid_move_message(self):
        expected_invalid_move_message = "Invalid move. Please try again\n"
        self.presenter.invalid_move_message()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_invalid_move_message)

    def test_presenting_stalemate_message(self):
        expected_stalemate_message = "The game ended in a stalemate\n\n"
        self.presenter.stalemate_message()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_stalemate_message)

    def test_presenting_computer_thinking_message(self):
        expected_computer_move_message = "Computer is thinking...\n\n"
        self.presenter.computer_move_message()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_computer_move_message)

    def test_presenting_available_moves(self):
        expected_available_moves_message = "Available moves: [1, 2, 3]\n\n\n"
        self.presenter.available_moves_message([1, 2, 3])
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_available_moves_message)

    def test_presenting_the_move_prompt(self):
        expected_prompt = "X, please select a move:\n"
        self.presenter.move_prompt("X")
        received_output = self.chosen_output.getvalue()

    def test_presenting_the_player_type_prompt(self):
        expected_prompt = "The first player is a... type 'human' or 'computer'\n"
        self.presenter.player_type_prompt("first")
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_prompt)

    def test_presenting_the_play_again_prompt(self):
        expected_prompt = "Would you like to play again? type 'yes' or 'no'\n"
        self.presenter.play_again_prompt()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_prompt)
Ejemplo n.º 4
0
class PresenterTests(unittest.TestCase):
    def setUp(self):
        self.chosen_output = StringIO()
        self.io = InputOutput(None, self.chosen_output)
        self.presenter = Presenter(self.io)

    def test_presenting_the_welcome_message(self):
        expected_welcome = "Welcome to Tic Tac Toe\n\n"
        self.presenter.welcome_message()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_welcome)

    def test_presenting_the_winner_message(self):
        expected_winner_message = "O has won the game!\n\n"
        self.presenter.winner_message("O")
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_winner_message)

    def test_presenting_invalid_move_message(self):
        expected_invalid_move_message = "Invalid move. Please try again\n"
        self.presenter.invalid_move_message()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_invalid_move_message)

    def test_presenting_stalemate_message(self):
        expected_stalemate_message = "The game ended in a stalemate\n\n"
        self.presenter.stalemate_message()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_stalemate_message)

    def test_presenting_computer_thinking_message(self):
        expected_computer_move_message = "Computer is thinking...\n\n"
        self.presenter.computer_move_message()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_computer_move_message)

    def test_presenting_available_moves(self):
        expected_available_moves_message = "Available moves: [1, 2, 3]\n\n\n"
        self.presenter.available_moves_message([1, 2, 3])
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_available_moves_message)

    def test_presenting_the_move_prompt(self):
        expected_prompt = "X, please select a move:\n"
        self.presenter.move_prompt("X")
        received_output = self.chosen_output.getvalue()

    def test_presenting_the_player_type_prompt(self):
        expected_prompt = "The first player is a... type 'human' or 'computer'\n"
        self.presenter.player_type_prompt("first")
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_prompt)

    def test_presenting_the_play_again_prompt(self):
        expected_prompt = "Would you like to play again? type 'yes' or 'no'\n"
        self.presenter.play_again_prompt()
        received_output = self.chosen_output.getvalue()

        self.assertEqual(received_output, expected_prompt)