def test_group_players(self): group = PlayersGroup(self.group) self.optimizer.add_players_group(group) lineup = next(self.optimizer.optimize(1)) self.assertEqual( len([player for player in self.group if player in lineup]), len(self.group))
def test_group_player_max_exposure(self): group = PlayersGroup(self.group, max_exposure=0.5) self.optimizer.add_players_group(group) lineups = list(self.optimizer.optimize(2)) self.assertEqual( len([player for player in self.group if player in lineups[0]]), len(self.group)) self.assertEqual( len([player for player in self.group if player in lineups[1]]), 0)
def test_ungroup_players(self): group = PlayersGroup(self.high_fppg_group, max_from_group=1) self.optimizer.add_players_group(group) lineup = next(self.optimizer.optimize(1)) self.assertEqual( len([ player for player in self.high_fppg_group if player in lineup ]), 1)
def test_group_player_with_conditional_player(self, strict_depend, is_high_fppg_group, fppg, min_from_group, max_from_group, total): if is_high_fppg_group: group = self.high_fppg_group else: group = self.group dependant_player = Player('5', '5', '5', ['C'], '5', 30, fppg) self.player_pool.extend_players([dependant_player]) self.optimizer.add_players_group( PlayersGroup(group, depends_on=dependant_player, min_from_group=min_from_group, max_from_group=max_from_group, strict_depend=strict_depend) ) lineup = next(self.optimizer.optimize(1)) expect_players = [*group, dependant_player] self.assertEqual(len([player for player in expect_players if player in lineup]), total)