def test_game_ends_with_diagonal_win(self): _game_board = game_board.GameBoard() _game_board.set_board([1, 0, 0, 0, 1, 0, 0, 0, 1]) _game_board2 = game_board.GameBoard() _game_board2.set_board([0, 0, 2, 0, 2, 0, 2, 0, 0]) self.assertTrue(_game_board.is_game_over()) self.assertTrue(_game_board2.is_game_over())
def test_turn_display_player2(self): player1 = computer_player.ComputerPlayer(1) player2 = computer_player.ComputerPlayer(2) board = game_board.GameBoard() test_game = game.Game(player1, player2, board) test_game.process_turn() self.assertEqual(console_prompts.ConsolePrompts().alert_whose_turn_it_is(test_game), "Player 2's turn... ")
def test_player1_can_make_a_move(self): test_player = TestPlayer(1, 0) test_player2 = TestPlayer(2, 1) test_game = game.Game(test_player, test_player2, game_board.GameBoard()) test_game.process_turn() self.assertEqual(test_game.game_board.board, [1, 0, 0, 0, 0, 0, 0, 0, 0])
def test_game_will_not_move_forward_with_illegal_move(self): test_player = TestPlayer(1, 0) test_player2 = TestPlayer(2, 0) test_game = game.Game(test_player, test_player2, game_board.GameBoard()) test_game.process_turn() test_game.process_turn() self.assertEqual(test_game.game_board.board, [1, 0, 0, 0, 0, 0, 0, 0, 0]) self.assertEqual(test_game.turn, 2)
def test_game_display(self): board = game_board.GameBoard() board.change_square(1, 1) board.change_square(3, 1) board.change_square(7, 2) board.change_square(8, 2) self.assertEqual(console_prompts.ConsolePrompts().display_game(board), "Current board: \r\n" + " |O| \r\n" + "_____\r\n" + "O| | \r\n" + "_____\r\n" + " |X|X\r\n")
from Application import console_prompts from Application import human_input from Application import input_output from GameInfo import game from GameInfo import human_player from GameInfo import computer_player from GameInfo import game_board console_io = input_output.InputOutput(human_input.HumanInput(), console_prompts.ConsolePrompts()) player1 = human_player.HumanPlayer(1, console_io) player2 = computer_player.ComputerPlayer(2) _game = game.Game(player1, player2, game_board.GameBoard()) while not _game.game_board.is_game_over(): console_io.alert_whose_turn_it_is(_game) console_io.display_game(_game.game_board) _game.process_turn() console_io.alert_game_over(_game.game_board) console_io.display_game(_game.game_board)
def test_game_does_not_end_early2(self): _game_board = game_board.GameBoard() _game_board.set_board([1, 2, 1, 0, 0, 0, 0, 0, 0]) self.assertFalse(_game_board.is_game_over())
def test_move_is_legal_if_square_is_blank(self): _game_board = game_board.GameBoard() self.assertTrue(_game_board.is_move_legal(0))
def test_moves_can_not_be_overwritten(self): _game_board = game_board.GameBoard() _game_board.change_square(0, 1) self.assertFalse(_game_board.is_move_legal(0))
def test_game_does_not_end_early(self): _game_board = game_board.GameBoard() self.assertFalse(_game_board.is_game_over())
def test_board_can_be_changed(self): _game_board = game_board.GameBoard() _game_board.change_square(0, 1) _game_board.change_square(1, 2) self.assertEqual(_game_board.board, [1, 2, 0, 0, 0, 0, 0, 0, 0])
def test_game_ends_with_full_board(self): _game_board = game_board.GameBoard() _game_board.set_board([1, 2, 1, 2, 1, 2, 2, 1, 1]) self.assertTrue(_game_board.is_game_over())
def test_make_move(self): human = human_player.HumanPlayer(1, MockInput()) board = game_board.GameBoard() human.make_move(board) self.assertEqual(human.make_move(board), 0)
def test_computer_makes_correct_move(self): ai_player = computer_player.ComputerPlayer(2) board = game_board.GameBoard() board.set_board([1, 0, 0, 0, 0, 0, 0, 0, 0]) self.assertEqual(ai_player.make_move(board), 4)
def test_game_over_alert_tie_game(self): board = game_board.GameBoard() board.set_board([1, 2, 1, 1, 2, 1, 2, 1, 2]) self.assertEqual(console_prompts.ConsolePrompts().alert_game_over(board), "Tie game!")
def test_game_over_alert_player2(self): board = game_board.GameBoard() board.set_board([1, 1, 0, 1, 0, 0, 2, 2, 2]) self.assertEqual(console_prompts.ConsolePrompts().alert_game_over(board), "Player 2 has won!")