def test_possible_movements(self): player1 = Player() player2 = Player() game = Checkers(player1, player2) for cell in game.board.cells: cell.value = None game.board.set_cell(2, 3, "X") game.board.set_cell(2, 5, "O") game.board.set_cell(4, 3, "x") game.board.set_cell(4, 5, "o") game.player_in_turn = 0 self.assertEqual(6, len(game.possible_movements())) game.player_in_turn = 1 self.assertEqual(6, len(game.possible_movements())) game.board.set_cell(3, 4, "x") game.board.set_cell(2, 3, "o") game.board.set_cell(2, 5, "o") game.board.set_cell(4, 3, "o") game.board.set_cell(4, 5, "o") game.player_in_turn = 0 self.assertEqual(2, len(game.possible_movements())) game.board.set_cell(3, 4, "X") self.assertEqual(4, len(game.possible_movements())) game.board.set_cell(3, 4, "o") game.board.set_cell(2, 3, "x") game.board.set_cell(2, 5, "x") game.board.set_cell(4, 3, "x") game.board.set_cell(4, 5, "x") game.player_in_turn = 1 self.assertEqual(2, len(game.possible_movements())) game.board.set_cell(3, 4, "O") self.assertEqual(4, len(game.possible_movements()))
def test_evaluate_winner(self): player1 = Player() player2 = Player() game = Checkers(player1, player2) game.player_in_turn = 0 for cell in game.board.cells: if cell.value in ["o", "0"]: cell.value = None self.assertEqual(player1, game.evaluate_winner()) game.player_in_turn = 1 for cell in game.board.cells: if cell.value in ["x", "X"]: cell.value = None self.assertEqual(player2, game.evaluate_winner())
def test_play(self, input): player = CheckersPlayer() game = Checkers(player, CheckersPlayer()) game.player_in_turn = 0 self.assertTrue(game.board.get_cell(5, 0).value == "x") player.play() self.assertTrue(game.board.get_cell(4, 1).value == "x") self.assertTrue(game.board.get_cell(5, 0).value is None)