class GameLoadTest(TestCase): GAME_COUNT = 1000 def setUp(self): self.board = Board() self.player = Player("X", self.board, "Sys") self.computer = ComputerPlayer("O",self.board) self.winners = {} self.moves = {} def play_game(self): sys_moves = [] while self.board.winner == None: choice_made = False while not choice_made: choice = random.randrange(0, 9, 1) if choice not in sys_moves and self.board.get_cell(choice) == None: sys_moves.append(choice) choice_made = True self.player.place_marker(choice) if self.board.winner == None: self.computer.place_marker() winner = self.board.winner if winner in self.winners.keys(): self.winners[winner] = self.winners[winner] + 1 else: self.winners[winner] = 1 if winner == "X": move = sys_moves.__str__() if move in self.moves.keys(): self.moves[move] = self.moves[move] + 1 else: self.moves[move] = 1 def test_game(self): for count in range(self.GAME_COUNT): self.play_game() self.board.clear() print "\n{0}".format(self.winners) print "\n{0}".format(self.moves)
class BoardTest(TestCase): def setUp(self): self.board = Board() def test_size(self): self.assertEquals(self.board.size(), 9) def test_take_cell(self): marker = "X" self.assertEquals(self.board.get_cell(0), None) self.board.take_cell(0, marker) self.assertEquals(self.board.get_cell(0), marker) self.assertRaises(BoardError,self.board.take_cell, 9, marker) self.assertRaises(BoardError, self.board.take_cell, 0, "O") def test_check_board_incomplete(self): marker = "O" self.board.clear() self.board.take_cell(0,marker) # pdb.set_trace() assert self.board.check_board() == False assert self.board.winner != marker def test_check_board_horizontal(self): marker = "O" self.board.take_cell(0,marker) self.board.take_cell(1,marker) self.board.take_cell(2,marker) assert self.board.check_board() assert self.board.winner == marker self.board.clear() self.board.take_cell(3,marker) self.board.take_cell(4,marker) self.board.take_cell(5,marker) assert self.board.check_board() assert self.board.winner == marker self.board.clear() self.board.take_cell(6,marker) self.board.take_cell(7,marker) self.board.take_cell(8,marker) assert self.board.check_board() assert self.board.winner == marker def test_check_board_vertical(self): marker = "O" self.board.take_cell(0,marker) self.board.take_cell(3,marker) self.board.take_cell(6,marker) assert self.board.check_board() assert self.board.winner == marker self.board.clear() self.board.take_cell(1,marker) self.board.take_cell(4,marker) self.board.take_cell(7,marker) assert self.board.check_board() assert self.board.winner == marker self.board.clear() self.board.take_cell(2,marker) self.board.take_cell(5,marker) self.board.take_cell(8,marker) assert self.board.check_board() assert self.board.winner == marker def test_check_board_diagonal(self): marker = "O" self.board.take_cell(0,marker) self.board.take_cell(4,marker) self.board.take_cell(8,marker) assert self.board.check_board() assert self.board.winner == marker self.board.clear() self.board.take_cell(2,marker) self.board.take_cell(4,marker) self.board.take_cell(6,marker) assert self.board.check_board() assert self.board.winner == marker