Esempio n. 1
0
        public void CanRemoveBracketRoundFromTournamentById()
        {
            List <Guid> roundIds = new List <Guid>();

            using (TournamentRepository tournamentRepository = CreateTournamentRepository())
            {
                Tournament tournament = tournamentRepository.GetTournamentByName(tournamentName);

                RoundBase round = tournamentRepository.AddBracketRoundToTournament(tournament);
                roundIds.Add(round.Id);

                round = tournamentRepository.AddDualTournamentRoundToTournament(tournament);
                roundIds.Add(round.Id);

                round = tournamentRepository.AddRoundRobinRoundToTournament(tournament);
                roundIds.Add(round.Id);

                tournamentRepository.Save();
            }

            using (TournamentRepository tournamentRepository = CreateTournamentRepository())
            {
                Tournament tournament = tournamentRepository.GetTournamentByName(tournamentName);

                foreach (Guid roundId in roundIds)
                {
                    bool removeResult = tournamentRepository.RemoveRoundFromTournament(tournament, roundId);
                    tournamentRepository.Save();

                    removeResult.Should().BeTrue();
                }

                tournament.Rounds.Should().BeEmpty();
            }
        }
Esempio n. 2
0
        public void CannotChangePlayersPerGroupCountInDualTournamentRound()
        {
            using (TournamentRepository tournamentRepository = CreateTournamentRepository())
            {
                Tournament tournament = tournamentRepository.GetTournamentByName(tournamentName);
                RoundBase  round      = tournamentRepository.AddDualTournamentRoundToTournament(tournament);

                const int newPlayersPerGroupCount      = 3;
                const int expectedPlayersPerGroupCount = 4;

                bool changeResult = tournamentRepository.SetPlayersPerGroupCountInRound(round, newPlayersPerGroupCount);

                changeResult.Should().BeFalse();
                round.PlayersPerGroupCount.Should().Be(expectedPlayersPerGroupCount);
            }
        }
Esempio n. 3
0
        public void GivenTournamentAddsRounds(string tournamentName, Table table)
        {
            using (TournamentRepository tournamentRepository = CreateTournamentRepository())
            {
                Tournament tournament = tournamentRepository.GetTournamentByName(tournamentName);

                foreach (TableRow row in table.Rows)
                {
                    TestUtilities.ParseRoundTable(row, out ContestTypeEnum contestType, out string name, out int advancingCount, out int playersPerGroupCount);

                    if (contestType != ContestTypeEnum.None)
                    {
                        RoundBase round = null;

                        if (contestType == ContestTypeEnum.Bracket)
                        {
                            round = tournamentRepository.AddBracketRoundToTournament(tournament);
                        }
                        else if (contestType == ContestTypeEnum.DualTournament)
                        {
                            round = tournamentRepository.AddDualTournamentRoundToTournament(tournament);
                        }
                        else if (contestType == ContestTypeEnum.RoundRobin)
                        {
                            round = tournamentRepository.AddRoundRobinRoundToTournament(tournament);
                        }
                        tournamentRepository.Save();

                        if (round == null)
                        {
                            return;
                        }

                        tournamentRepository.RenameRoundInTournament(round, name);
                        tournamentRepository.SetAdvancingPerGroupCountInRound(round, advancingCount);
                        tournamentRepository.SetPlayersPerGroupCountInRound(round, playersPerGroupCount);
                        tournamentRepository.Save();
                    }
                }
            }
        }
Esempio n. 4
0
        public void CanAddDualTournamentRoundToTournament()
        {
            using (TournamentRepository tournamentRepository = CreateTournamentRepository())
            {
                Tournament tournament = tournamentRepository.GetTournamentByName(tournamentName);
                tournament.Rounds.Should().BeEmpty();

                tournamentRepository.AddDualTournamentRoundToTournament(tournament);
                tournamentRepository.Save();

                tournament.Rounds.Should().HaveCount(1);
                tournament.Rounds.First().Should().BeOfType <DualTournamentRound>();
            }

            using (TournamentRepository tournamentRepository = CreateTournamentRepository())
            {
                Tournament tournament = tournamentRepository.GetTournamentByName(tournamentName);
                tournament.Rounds.Should().HaveCount(1);
                tournament.Rounds.First().Should().BeOfType <DualTournamentRound>();
            }
        }