Exemplo n.º 1
0
        public void IssueIsReportedWhenStartDateTimeForMatchIsSetEarlierThanAnyMatchInPreviousRound()
        {
            List <string> playerNames = new List <string>()
            {
                "Maru", "Stork", "Taeja", "Rain", "Bomber", "FanTaSy", "Stephano", "Thorzain"
            };

            bracketRound.SetPlayersPerGroupCount(4);
            BracketRound secondBracketRound = tournament.AddBracketRound() as BracketRound;

            foreach (string playerName in playerNames)
            {
                tournament.RegisterPlayerReference(playerName);
            }

            BracketGroup bracketGroup            = bracketRound.Groups.First() as BracketGroup;
            BracketNode  finalNodeFromFirstRound = bracketGroup.BracketNodeSystem.FinalNode;

            BracketGroup bracketGroupFromSecondRound = secondBracketRound.Groups.First() as BracketGroup;
            BracketNode  finalNodeFromSecondRound    = bracketGroupFromSecondRound.BracketNodeSystem.FinalNode;

            Match    finalFromFirstRound              = finalNodeFromFirstRound.Match;
            Match    finalFromSecondRound             = finalNodeFromSecondRound.Match;
            DateTime oneHourBeforeFinalFromFirstRound = finalFromFirstRound.StartDateTime.AddHours(-1);

            bool validationResult = MatchStartDateTimeValidator.Validate(finalFromSecondRound, oneHourBeforeFinalFromFirstRound);

            validationResult.Should().BeTrue();
            tournamentIssueReporter.Issues.Should().HaveCount(1);
        }
Exemplo n.º 2
0
        public void MatchStartDateTimeCannotBeChangedToSometimeInThePast()
        {
            BracketGroup bracketGroup     = bracketRound.Groups.First() as BracketGroup;
            Match        match            = bracketGroup.Matches.First();
            DateTime     oneHourInThePast = SystemTime.Now.AddSeconds(-1);

            bool validationResult = MatchStartDateTimeValidator.Validate(match, oneHourInThePast);

            validationResult.Should().BeFalse();
            tournamentIssueReporter.Issues.Should().HaveCount(1);
        }
Exemplo n.º 3
0
        public bool SetStartDateTime(DateTime dateTime)
        {
            bool newDateTimeIsValid = MatchStartDateTimeValidator.Validate(this, dateTime);

            if (newDateTimeIsValid)
            {
                StartDateTime = dateTime;
                MarkAsModified();

                return(true);
            }

            return(false);
        }