def test_should_process_comp_series_no_comp(self): with pytest.raises( DomainError, match= "Competition must be created before competition games can be processed." ): sub_comp_config = SubCompetitionConfiguration( "Test", None, None, None, None, None, None, None, None) sub_comp = PlayoffSubCompetition("test", [], None, None, 1, 1, False, False, False, False) sub_comp.groups = [ CompetitionGroup("Group 1", None, None, None, None, None), CompetitionGroup("Group 3", None, None, None, None, None), CompetitionGroup("Group 4", None, None, None, None, None), ] series = CompetitionConfigurator.process_series_configuration( SeriesConfiguration( "Series 1", 5, sub_comp, CompetitionGroupConfiguration("Group 1", sub_comp_config, None, 1, None, 1, None), 1, CompetitionGroupConfiguration("Group 1", sub_comp_config, None, 1, None, 1, None), 2, SeriesByGoalsRules("My Rules", 5, None, None, None), None, CompetitionGroupConfiguration("Group 3", sub_comp_config, None, 1, None, 1, None), CompetitionGroupConfiguration("Group 4", sub_comp_config, None, 1, None, 1, None), CompetitionGroupConfiguration("Group 3", sub_comp_config, None, 1, None, 1, None), CompetitionGroupConfiguration("Group 4", sub_comp_config, None, 1, None, 1, None), 1, None), sub_comp)
def __init__(self, playoff_sub_competition): PlayoffSubCompetition.__init__( self, playoff_sub_competition.name, playoff_sub_competition.series, playoff_sub_competition.competition, playoff_sub_competition.groups, playoff_sub_competition.order, playoff_sub_competition.current_round, playoff_sub_competition.setup, playoff_sub_competition.started, playoff_sub_competition.finished, playoff_sub_competition.post_processed, playoff_sub_competition.oid)
def test_should_process_series_game_config(self): playoff_comp_config = PlayoffSubCompetitionConfiguration( "Playoff Comp", None, None, [], [], 1, 1, None) group1 = CompetitionGroupConfiguration("Group 1", playoff_comp_config, None, 1, None, 1, None) group3 = CompetitionGroupConfiguration("Group 3", playoff_comp_config, None, 1, None, 1, None) group4 = CompetitionGroupConfiguration("Group 4", playoff_comp_config, None, 1, None, 1, None) series_config = SeriesConfiguration( "Series 1", 5, playoff_comp_config, group1, 1, group1, 2, SeriesByWinsRules("My Rules", 5, None, None, None), None, group3, group4, group3, group4, 1, None) competition = create_default_competition_for_testing("My Comp", 1) playoff_comp = PlayoffSubCompetition("Playoff Comp", [], competition, [], None, None, None, None, None, None) competition.sub_competitions.append(playoff_comp) CompetitionConfigurator.process_series_configuration( series_config, playoff_comp) self.assertEqual(1, len(competition.sub_competitions[0].series)) new_series = competition.sub_competitions[0].series[0] self.assertEqual("Series 1", new_series.name) self.assertEqual(3, len(competition.get_all_groups()))
def create_default_playoff(groups): competition = create_default_competition_for_testing("My Comp") playoff = PlayoffSubCompetition("Playoff", [], competition, None, 1, 1, False, False, False, False) competition.sub_competitions.append(playoff) league = CompetitionGroup("League", None, None, 1, [], CompetitionGroupConfiguration.RANKING_TYPE) r1_winners_group = CompetitionGroup("R1 Winners", None, 1, playoff, [], CompetitionGroupConfiguration.RANKING_TYPE) r1_losers_group = CompetitionGroup("R1 Losers", None, 1, playoff, [], CompetitionGroupConfiguration.RANKING_TYPE) r2_winners_group = CompetitionGroup("R2 Winners", None, 1, playoff, [], CompetitionGroupConfiguration.RANKING_TYPE) r2_losers_group = CompetitionGroup("R2 Losers", None, 1, playoff, [], CompetitionGroupConfiguration.RANKING_TYPE) eliminated = CompetitionGroup("Eliminated Group", None, 1, playoff, [], CompetitionGroupConfiguration.RANKING_TYPE) league.rankings = [ CompetitionRanking(league, helpers.new_comp_team(competition, "Team 1", 5), 1), CompetitionRanking(league, helpers.new_comp_team(competition, "Team 2", 5), 2), CompetitionRanking(league, helpers.new_comp_team(competition, "Team 3", 5), 3), CompetitionRanking(league, helpers.new_comp_team(competition, "Team 4", 5), 4), CompetitionRanking(league, helpers.new_comp_team(competition, "Team 5", 5), 5), CompetitionRanking(league, helpers.new_comp_team(competition, "Team 6", 5), 6), CompetitionRanking(league, helpers.new_comp_team(competition, "Team 7", 5), 7), CompetitionRanking(league, helpers.new_comp_team(competition, "Team 8", 5), 8), CompetitionRanking(league, helpers.new_comp_team(competition, "Team 9", 5), 9), CompetitionRanking(league, helpers.new_comp_team(competition, "Team 10", 5), 10), ] groups.extend([league, r1_winners_group, r1_losers_group, r2_winners_group, r2_losers_group, eliminated]) game_rules_tie = GameRules("Can Tie", True) game_rules_no_tie = GameRules("No Tie", False) series_rules_by_goals_2 = SeriesByGoalsRules("By Goals 2 Games", 2, game_rules_tie, game_rules_no_tie, None) series_rules_by_goals_3 = SeriesByGoalsRules("By Goals 3 Games", 3, game_rules_tie, game_rules_no_tie, None) series_rules_by_goals_1 = SeriesByGoalsRules("By Goals 1 Games", 1, game_rules_tie, game_rules_no_tie, None) series_rules_wins_4 = SeriesByWinsRules("4 wins", 4, game_rules_no_tie, [0, 0, 1, 1, 0, 1, 0]) series1 = SeriesByGoals(playoff, "Series 1", 1, None, None, 0, 0, 0, series_rules_by_goals_2, league, 1, league, 8, r1_winners_group, league, r1_losers_group, league, False, False) series2 = SeriesByGoals(playoff, "Series 2", 1, None, None, 0, 0, 0, series_rules_by_goals_3, league, 2, league, 7, r1_winners_group, league, r1_losers_group, league, False, False) series3 = SeriesByGoals(playoff, "Series 3", 1, None, None, 0, 0, 0, series_rules_by_goals_1, league, 3, league, 6, r1_winners_group, league, r1_losers_group, league, False, False) series4 = SeriesByWins(playoff, "Series 4", 1, None, None, 0, 0, series_rules_wins_4, league, 4, league, 5, r1_winners_group, league, r1_losers_group, league, False, False) series5 = SeriesByWins(playoff, "Series 5", 2, None, None, 0, 0, series_rules_wins_4, r1_winners_group, 1, r1_winners_group, 4, r2_winners_group, league, r2_losers_group, league, False, False) series6 = SeriesByGoals(playoff, "Series 6", 2, None, None, 0, 0, 0, series_rules_by_goals_1, r1_winners_group, 2, r1_winners_group, 3, r2_winners_group, league, r2_losers_group, league, False, False) series7 = SeriesByGoals(playoff, "Series 7", 2, None, None, 0, 0, 0, series_rules_by_goals_1, r1_losers_group, 1, league, 2, r1_losers_group, eliminated, league, eliminated, league, False, False) playoff.series.extend([series1, series2, series3, series4, series5, series6, series7]) return playoff
def get_add_record(self): return PlayoffSubCompetitionDTO( PlayoffSubCompetition( "Table Comp", None, CompetitionDTO( Competition("My Comp", 1, None, None, 1, False, False, False, False)), None, 3, 5, True, True, True, True))
def test_should_process_by_wins_method(self): competition = create_default_competition_for_testing("Test", 1) sub_comp = PlayoffSubCompetition("Test", [], competition, [], 1, 1, False, False, False, False) competition.sub_competitions.append(sub_comp) sub_comp_config = SubCompetitionConfiguration("Test", None, None, None, None, None, None, None, None) group1 = CompetitionGroupConfiguration("Group 1", sub_comp_config, None, 1, None, 1, None) group3 = CompetitionGroupConfiguration("Group 3", sub_comp_config, None, 1, None, 1, None) group4 = CompetitionGroupConfiguration("Group 4", sub_comp_config, None, 1, None, 1, None) sub_comp.groups = [ CompetitionConfigurator.create_competition_group( group1, competition), CompetitionConfigurator.create_competition_group( group3, competition), CompetitionConfigurator.create_competition_group( group4, competition) ] series = CompetitionConfigurator.processes_series_by_wins_configuration( SeriesConfiguration( "Series 1", 5, None, group1, 1, group1, 2, SeriesByWinsRules("My Rules", 4, None, None, None), group3, group4, group3, group4, 1, None), sub_comp) self.assertEqual("Series 1", series.name) self.assertEqual("Group 1", series.home_team_from_group.name) self.assertEqual("Group 1", series.away_team_from_group.name) self.assertEqual("Group 3", series.winner_to_group.name) self.assertEqual("Group 3", series.loser_to_group.name) self.assertEqual("Group 4", series.winner_rank_from.name) self.assertEqual("Group 4", series.loser_rank_from.name)
def create_playoff_sub_competition(sub_competition_config, competition): sub_comp = PlayoffSubCompetition(sub_competition_config.name, [], competition, [], sub_competition_config.order, 1, False, False, False, False) competition.sub_competitions.append(sub_comp) CompetitionConfigurator.create_sub_competition_groups( sub_competition_config, competition) for s in sub_competition_config.series: CompetitionConfigurator.process_series_configuration(s, sub_comp) return sub_comp
def setup_default_series(games): home_team = Team("Team 1", 5, True) away_team = Team("Team 2", 5, True) competition = create_default_competition_for_testing("My Comp") sub_competition = PlayoffSubCompetition("My Playoff", None, competition, None, 1, 1, True, False, False, False) home_competition_team = CompetitionTeam(competition, home_team) away_competition_team = CompetitionTeam(competition, away_team) game_rules = GameRules("My Rules", False) series_rules = SeriesByWinsRules("My Rules", games, game_rules, None) series = SeriesByWins(sub_competition, "My Series", 1, home_competition_team, away_competition_team, 0, 0, series_rules, None, None, None, None, None, None, None, None, True, False) return series
import random from teams.domain.competition import Competition, CompetitionTeam from teams.domain.game import GameRules from teams.domain.series import SeriesByGoals from teams.domain.series_rules import SeriesByGoalsRules from teams.domain.sub_competition import PlayoffSubCompetition from teams.domain.team import Team home_team = Team("Team 1", 5, True) away_team = Team("Team 2", 5, True) competition = Competition("My Comp", 1, None, None, True, True, False, False) sub_competition = PlayoffSubCompetition("Playoff A", None, competition, 1, 1, True, True, False, False) home_competition_team = CompetitionTeam(competition, home_team) away_competition_team = CompetitionTeam(competition, away_team) game_rules = GameRules("Playoff", True) last_game_rules = GameRules("Last Game", False) series_rules = SeriesByGoalsRules("My Rules", 2, game_rules, last_game_rules, None) series = SeriesByGoals(sub_competition, "My Series", 1, home_competition_team, away_competition_team, 0, 0, 0, series_rules, None, None, None, None, None, None, None, None, True, False) games = []