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)