def test_generate_teams_exactly_12_players(self): Config.ALLOWED_TEXT_CHANNEL_IDS = ["Community Games"] voice_channel_mock = MagicMock() voice_channel_mock.id = Config.COMMUNITY_GAMES_VOICE_CHANNEL_ID voice_channel_mock.members = TestUtils.generate_mock_players_list(12) ctx_mock.message.channel.id = "Community Games" ctx_mock.author.mention = "@Kane" client_mock = MagicMock() client_mock.global_variables.bench = list() client_mock.get_channel.return_value = voice_channel_mock comm_games_team_generator = community_games_team_generator.CommunityGamesTeamGenerator( client_mock) loop = asyncio.get_event_loop() loop.run_until_complete( comm_games_team_generator.generate_teams_command( comm_games_team_generator, ctx_mock)) self.assertEqual(6, len(client_mock.global_variables.teams[0])) self.assertEqual(6, len(client_mock.global_variables.teams[1])) self.assertFalse( ListUtils.contains_duplicates( client_mock.global_variables.teams[0])) self.assertFalse( ListUtils.contains_duplicates( client_mock.global_variables.teams[1])) self.assertEqual(0, len(voice_channel_mock.members))
def test_generate_teams_from_bench(self): Config.ALLOWED_TEXT_CHANNEL_IDS = ["Community Games"] voice_channel_mock = MagicMock() voice_channel_mock.id = Config.COMMUNITY_GAMES_VOICE_CHANNEL_ID voice_channel_mock.members = TestUtils.generate_mock_players_list(22) ctx_mock.message.channel.id = "Community Games" ctx_mock.author.mention = "@Kane" client_mock = MagicMock() client_mock.get_channel.return_value = voice_channel_mock benched_players = TestUtils.generate_mock_players_list(5) client_mock.global_variables.bench = benched_players.copy() comm_games_team_generator = community_games_team_generator.CommunityGamesTeamGenerator( client_mock) loop = asyncio.get_event_loop() loop.run_until_complete( comm_games_team_generator.generate_teams_command( comm_games_team_generator, ctx_mock)) team0 = client_mock.global_variables.teams[0] team1 = client_mock.global_variables.teams[1] bench = client_mock.global_variables.bench self.assertEqual(6, len(team0)) self.assertEqual(6, len(team1)) self.assertEqual(10, len(bench)) self.assertTrue( verify_benched_players_play(benched_players, team0, team1)) self.assertTrue( verify_bench_does_not_contain_players(bench, team0, team1)) self.assertFalse(ListUtils.contains_duplicates(team0)) self.assertFalse(ListUtils.contains_duplicates(team1)) self.assertFalse(ListUtils.contains_duplicates(bench)) self.assertEqual(0, len(voice_channel_mock.members))
def test_generate_teams_with_spectators(self): Config.ALLOWED_TEXT_CHANNEL_IDS = ["Community Games"] voice_channel_mock = MagicMock() voice_channel_mock.id = Config.COMMUNITY_GAMES_VOICE_CHANNEL_ID online_players = TestUtils.generate_mock_players_list(15) idle_players = TestUtils.generate_mock_players_list(10, UserUtils.IDLE) all_players = list() all_players.extend(online_players) all_players.extend(idle_players) voice_channel_mock.members = all_players ctx_mock.message.channel.id = "Community Games" ctx_mock.author.mention = "@Kane" print(voice_channel_mock) client_mock = MagicMock() client_mock.get_channel.return_value = voice_channel_mock client_mock.global_variables.bench = list() print(client_mock.get_channel.return_value) comm_games_team_generator = community_games_team_generator.CommunityGamesTeamGenerator( client_mock) loop = asyncio.get_event_loop() loop.run_until_complete( comm_games_team_generator.generate_teams_command( comm_games_team_generator, ctx_mock)) team0 = client_mock.global_variables.teams[0] team1 = client_mock.global_variables.teams[1] bench = client_mock.global_variables.bench spectators = client_mock.global_variables.spectators self.assertEqual(6, len(team0)) self.assertEqual(6, len(team1)) self.assertEqual(3, len(bench)) self.assertEqual(10, len(spectators)) self.assertTrue( verify_bench_does_not_contain_players(bench, team0, team1)) self.assertFalse(ListUtils.contains_duplicates(team0)) self.assertFalse(ListUtils.contains_duplicates(team1)) self.assertFalse(ListUtils.contains_duplicates(bench)) self.assertEqual(0, len(voice_channel_mock.members))