public void CannotAddMoreThanFourPlayerReferencesToGroup() { List <string> playerNames = new List <string> { "Maru", "Stork", "Taeja", "Rain", "Bomber" }; RegisterPlayers(playerNames); DualTournamentGroup dualTournamentGroup = dualTournamentRound.Groups.First() as DualTournamentGroup; List <PlayerReference> playerReferences = dualTournamentGroup.GetPlayerReferences(); playerReferences.Single(playerReference => playerReference.Name == playerNames[0]).Should().NotBeNull(); playerReferences.Single(playerReference => playerReference.Name == playerNames[1]).Should().NotBeNull(); playerReferences.Single(playerReference => playerReference.Name == playerNames[2]).Should().NotBeNull(); playerReferences.Single(playerReference => playerReference.Name == playerNames[3]).Should().NotBeNull(); playerReferences.SingleOrDefault(playerReference => playerReference.Name == playerNames[4]).Should().BeNull(); dualTournamentGroup.Matches.Should().HaveCount(5); dualTournamentGroup.Matches[0].Player1.GetName().Should().NotBeNullOrEmpty(); dualTournamentGroup.Matches[0].Player2.GetName().Should().NotBeNullOrEmpty(); dualTournamentGroup.Matches[1].Player1.GetName().Should().NotBeNullOrEmpty(); dualTournamentGroup.Matches[1].Player2.GetName().Should().NotBeNullOrEmpty(); dualTournamentGroup.Matches[2].Player1.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[2].Player2.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[3].Player1.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[3].Player2.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[4].Player1.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[4].Player2.PlayerReferenceId.Should().BeEmpty(); }
public void CanConstructDualTournamentMatchLayout() { List <string> playerNames = new List <string> { "Maru", "Stork", "Taeja", "Rain" }; RegisterPlayers(playerNames); DualTournamentGroup dualTournamentGroup = dualTournamentRound.Groups.First() as DualTournamentGroup; dualTournamentGroup.Matches.Should().HaveCount(5); dualTournamentGroup.Matches[0].Player1.GetName().Should().Be(playerNames[0]); dualTournamentGroup.Matches[0].Player2.GetName().Should().Be(playerNames[1]); dualTournamentGroup.Matches[1].Player1.GetName().Should().Be(playerNames[2]); dualTournamentGroup.Matches[1].Player2.GetName().Should().Be(playerNames[3]); dualTournamentGroup.Matches[2].Player1.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[2].Player2.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[3].Player1.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[3].Player2.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[4].Player1.PlayerReferenceId.Should().BeEmpty(); dualTournamentGroup.Matches[4].Player2.PlayerReferenceId.Should().BeEmpty(); }
public void CanCreateGroup() { DualTournamentGroup dualTournamenGroup = DualTournamentGroup.Create(dualTournamentRound); dualTournamenGroup.Should().NotBeNull(); dualTournamenGroup.Id.Should().NotBeEmpty(); dualTournamenGroup.Matches.Should().BeEmpty(); dualTournamenGroup.RoundId.Should().Be(dualTournamentRound.Id); dualTournamenGroup.Round.Should().Be(dualTournamentRound); }
public PlayerInDualTournamentGroupTests() { tournament = Tournament.Create("GSL 2019"); round = tournament.AddDualTournamentRound(); round.SetAdvancingPerGroupCount(2); round.SetPlayersPerGroupCount(4); // Needed for the tournament flow to make sense, tournament cannot end with a dual tournament group tournament.AddBracketRound(); foreach (string playerName in playerNames) { tournament.RegisterPlayerReference(playerName); } tournament.RegisterPlayerReference("Stork"); group = round.Groups.First() as DualTournamentGroup; match = group.Matches.First(); match.SetBestOf(5); player = match.Player1; }
public void StartDateTimeForMatchesMustBeInMatchOrder() { DualTournamentGroup dualTournamentGroup = RegisterPlayers(new List <string> { "Maru", "Stork", "Taeja", "Rain" }); List <DateTime> dateTimesBeforeChange = new List <DateTime>(); foreach (Match match in dualTournamentGroup.Matches) { dateTimesBeforeChange.Add(match.StartDateTime); } DateTime oneHourLater = SystemTime.Now.AddHours(1); DateTime twoHoursLater = SystemTime.Now.AddHours(2); DateTime threeHoursLater = SystemTime.Now.AddHours(3); DateTime fourHoursLater = SystemTime.Now.AddHours(4); DateTime fiveHoursLater = SystemTime.Now.AddHours(5); dualTournamentGroup.Matches[0].SetStartDateTime(twoHoursLater); // IS GOOD dualTournamentGroup.Matches[1].SetStartDateTime(fiveHoursLater); // IS GOOD dualTournamentGroup.Matches[2].SetStartDateTime(fourHoursLater); // IS BAD dualTournamentGroup.Matches[3].SetStartDateTime(threeHoursLater); // IS BAD dualTournamentGroup.Matches[4].SetStartDateTime(oneHourLater); // IS BAD dualTournamentGroup.Matches[0].StartDateTime.Should().Be(twoHoursLater); dualTournamentGroup.Matches[1].StartDateTime.Should().Be(fiveHoursLater); dualTournamentGroup.Matches[2].StartDateTime.Should().Be(fourHoursLater); dualTournamentGroup.Matches[3].StartDateTime.Should().Be(threeHoursLater); dualTournamentGroup.Matches[4].StartDateTime.Should().Be(oneHourLater); tournamentIssueReporter.Issues.Should().HaveCount(3); ConfirmIssueIsAsExpected(tournamentIssueReporter.Issues[0], 0, 0, 2); ConfirmIssueIsAsExpected(tournamentIssueReporter.Issues[1], 0, 0, 3); ConfirmIssueIsAsExpected(tournamentIssueReporter.Issues[2], 0, 0, 4); }
protected override GroupBase AddGroup() { return(DualTournamentGroup.Create(this)); }