def test_recieve_input(self):
     player = AIPlayer()
     game = Checkers(player, Player())
     options = game.possible_movements()
     action = player.recieve_input(options)
     self.assertGreaterEqual(action, 0)
     self.assertLessEqual(action, len(options))
 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_recieve_input(self, input):
     player = HumanPlayer()
     game = Checkers(player, Player())
     self.assertEqual(player.recieve_input(game.possible_movements()), 4)