def test_full_draft_with_number_of_players_not_divisible_by_number_teams( self): league = League.objects.create(name='Test League 1', max_number_teams=8, min_number_players_per_team=5) # Should be 5 teams with 7 players and 3 teams with 6 players for i in xrange(0, 53): user = User.objects.create_user('testuser%d' % i, email='*****@*****.**' % i, password='******') player = Player.objects.create(name='Test Player League 1 %d' % i, age=22, user=user) player.register_for_league(league) request = self.factory.post( reverse('basketball:draft-league', args=[league.pk])) request.user = self.superuser draft_league(request, league.pk) self.assertEqual(league.team_set.count(), 8) seven_player_team_count = 0 six_player_team_count = 0 for team in list(league.team_set.all()): num_on_team = LeagueMembership.objects.filter(team=team).count() if num_on_team == 7: seven_player_team_count += 1 elif num_on_team == 6: six_player_team_count += 1 self.assertEqual(seven_player_team_count, 5) self.assertEqual(six_player_team_count, 3)
def test_draft_with_less_than_max_number_teams(self): league = League.objects.create(name='Test League 1', max_number_teams=8, min_number_players_per_team=5) # Should be only 7 total teams, 3 with 6 players and 4 with 5 players for i in xrange(0, 38): user = User.objects.create_user('testuser%d' % i, email='*****@*****.**' % i, password='******') player = Player.objects.create(name='Test Player League 1 %d' % i, age=22, user=user) player.register_for_league(league) request = self.factory.post( reverse('basketball:draft-league', args=[league.pk])) request.user = self.superuser draft_league(request, league.pk) self.assertEqual(league.team_set.count(), 7) six_player_team_count = 0 five_player_team_count = 0 for team in list(league.team_set.all()): num_on_team = LeagueMembership.objects.filter(team=team).count() if num_on_team == 6: six_player_team_count += 1 elif num_on_team == 5: five_player_team_count += 1 self.assertEqual(six_player_team_count, 3) self.assertEqual(five_player_team_count, 4)
def test_draft_with_too_few_players_for_two_teams(self): league = League.objects.create(name='Test League 1', max_number_teams=8, min_number_players_per_team=5) # Should not create any teams because there are not enough players to even have 2 teams in the league for i in xrange(0, 9): user = User.objects.create_user('testuser%d' % i, email='*****@*****.**' % i, password='******') player = Player.objects.create(name='Test Player League 1 %d' % i, age=22, user=user) player.register_for_league(league) request = self.factory.post(reverse('basketball:draft-league', args=[league.pk])) request.user = self.superuser draft_league(request, league.pk) self.assertEqual(league.team_set.count(), 0)
def test_full_draft_min_players(self): league = League.objects.create(name='Test League 1', max_number_teams=8, min_number_players_per_team=5) # Should be 8 teams, each with 5 players for i in xrange(0, 40): user = User.objects.create_user('testuser%d' % i, email='*****@*****.**' % i, password='******') player = Player.objects.create(name='Test Player League 1 %d' % i, age=22, user=user) player.register_for_league(league) request = self.factory.post(reverse('basketball:draft-league', args=[league.pk])) request.user = self.superuser draft_league(request, league.pk) self.assertEqual(league.team_set.count(), 8) for team in list(league.team_set.all()): self.assertEqual(LeagueMembership.objects.filter(team=team).count(), 5)
def test_draft_with_too_few_players_for_two_teams(self): league = League.objects.create(name='Test League 1', max_number_teams=8, min_number_players_per_team=5) # Should not create any teams because there are not enough players to even have 2 teams in the league for i in xrange(0, 9): user = User.objects.create_user('testuser%d' % i, email='*****@*****.**' % i, password='******') player = Player.objects.create(name='Test Player League 1 %d' % i, age=22, user=user) player.register_for_league(league) request = self.factory.post( reverse('basketball:draft-league', args=[league.pk])) request.user = self.superuser draft_league(request, league.pk) self.assertEqual(league.team_set.count(), 0)
def test_full_draft_min_players(self): league = League.objects.create(name='Test League 1', max_number_teams=8, min_number_players_per_team=5) # Should be 8 teams, each with 5 players for i in xrange(0, 40): user = User.objects.create_user('testuser%d' % i, email='*****@*****.**' % i, password='******') player = Player.objects.create(name='Test Player League 1 %d' % i, age=22, user=user) player.register_for_league(league) request = self.factory.post( reverse('basketball:draft-league', args=[league.pk])) request.user = self.superuser draft_league(request, league.pk) self.assertEqual(league.team_set.count(), 8) for team in list(league.team_set.all()): self.assertEqual( LeagueMembership.objects.filter(team=team).count(), 5)
def test_draft_with_less_than_max_number_teams(self): league = League.objects.create(name='Test League 1', max_number_teams=8, min_number_players_per_team=5) # Should be only 7 total teams, 3 with 6 players and 4 with 5 players for i in xrange(0, 38): user = User.objects.create_user('testuser%d' % i, email='*****@*****.**' % i, password='******') player = Player.objects.create(name='Test Player League 1 %d' % i, age=22, user=user) player.register_for_league(league) request = self.factory.post(reverse('basketball:draft-league', args=[league.pk])) request.user = self.superuser draft_league(request, league.pk) self.assertEqual(league.team_set.count(), 7) six_player_team_count = 0 five_player_team_count = 0 for team in list(league.team_set.all()): num_on_team = LeagueMembership.objects.filter(team=team).count() if num_on_team == 6: six_player_team_count += 1 elif num_on_team == 5: five_player_team_count += 1 self.assertEqual(six_player_team_count, 3) self.assertEqual(five_player_team_count, 4)
def test_full_draft_with_number_of_players_not_divisible_by_number_teams(self): league = League.objects.create(name='Test League 1', max_number_teams=8, min_number_players_per_team=5) # Should be 5 teams with 7 players and 3 teams with 6 players for i in xrange(0, 53): user = User.objects.create_user('testuser%d' % i, email='*****@*****.**' % i, password='******') player = Player.objects.create(name='Test Player League 1 %d' % i, age=22, user=user) player.register_for_league(league) request = self.factory.post(reverse('basketball:draft-league', args=[league.pk])) request.user = self.superuser draft_league(request, league.pk) self.assertEqual(league.team_set.count(), 8) seven_player_team_count = 0 six_player_team_count = 0 for team in list(league.team_set.all()): num_on_team = LeagueMembership.objects.filter(team=team).count() if num_on_team == 7: seven_player_team_count += 1 elif num_on_team == 6: six_player_team_count += 1 self.assertEqual(seven_player_team_count, 5) self.assertEqual(six_player_team_count, 3)