def test_find_current_game_player_not_playing(self): chess_bot = Chess() with self.assertRaises(Exception) as e: chess_bot.find_current_game(user=FakeDiscordUser(id=3)) self.assertIn("não é mais seu turno", str(e))
def test_find_current_game_other_player_not_found(self): chess_bot = Chess() board = chess.Board() board.push_san("e4") board.push_san("e5") game1 = Game() game1.board = board game1.player1 = FakeDiscordUser(id=1) game1.player2 = FakeDiscordUser(id=2) game1.current_player = game1.player1 chess_bot.games.append(game1) game2 = Game() game2.board = board game2.player1 = FakeDiscordUser(id=1) game2.player2 = FakeDiscordUser(id=3) game2.current_player = game2.player1 chess_bot.games.append(game2) with self.assertRaises(Exception) as e: chess_bot.find_current_game(user=FakeDiscordUser(id=14)) self.assertIn("Partida não encontrada", str(e))
def test_find_current_game_in_players_turn_with_amibiguity(self): chess_bot = Chess() board = chess.Board() board.push_san("e4") board.push_san("e5") game1 = Game() game1.board = board game1.player1 = FakeDiscordUser(id=1) game1.player2 = FakeDiscordUser(id=2) game1.current_player = game1.player1 chess_bot.games.append(game1) game2 = Game() game2.board = board game2.player1 = FakeDiscordUser(id=1) game2.player2 = FakeDiscordUser(id=3) game2.current_player = game2.player1 chess_bot.games.append(game2) with self.assertRaises(Exception) as e: chess_bot.find_current_game(user=game1.player1) self.assertIn("Informe contra qual jogador", str(e))
def test_find_current_game_in_players_turn_no_ambiguity(self): board = chess.Board() board.push_san("e4") board.push_san("e5") game = Game() game.board = board game.player1 = FakeDiscordUser(id=1) game.player2 = FakeDiscordUser(id=2) game.current_player = game.player1 chess_bot = Chess() chess_bot.games.append(game) result = chess_bot.find_current_game(user=game.player1) self.assertEqual(result, game)
def test_find_current_game_player_playing_themselves_and_others(self): chess_bot = Chess() board = chess.Board() board.push_san("e4") board.push_san("e5") game1 = Game() game1.board = board game1.player1 = FakeDiscordUser(id=1) game1.player2 = FakeDiscordUser(id=2) game1.current_player = game1.player1 chess_bot.games.append(game1) game2 = Game() game2.board = board game2.player1 = FakeDiscordUser(id=1) game2.player2 = FakeDiscordUser(id=1) game2.current_player = game2.player1 chess_bot.games.append(game2) result = chess_bot.find_current_game(user=game2.player1, other_user=game2.player2) self.assertEqual(result, game2)
def test_find_current_game_in_players_turn_amibiguity_solved(self): chess_bot = Chess() board = chess.Board() board.push_san("e4") board.push_san("e5") game1 = Game() game1.board = board game1.player1 = FakeDiscordUser(id=1) game1.player2 = FakeDiscordUser(id=2) game1.current_player = game1.player1 chess_bot.games.append(game1) game2 = Game() game2.board = board game2.player1 = FakeDiscordUser(id=1) game2.player2 = FakeDiscordUser(id=3) game2.current_player = game2.player1 chess_bot.games.append(game2) result = chess_bot.find_current_game(user=game1.player1, other_user=game1.player2) self.assertEqual(result, game1)