private static List <TeamLeagueMatch> CreateMatches(TeamLeagueRound round, List <Domain.Competitor.TeamCompetitor> competitors) { var matchEntries = new List <TeamMatchEntry>(); var matchEntry = new TeamMatchEntry { HomeAway = HomeAway.Home, Team = competitors[0].Team, }; matchEntry.Lineup = CreateLineup(matchEntry, 0); matchEntries.Add(matchEntry); matchEntry = new TeamMatchEntry { HomeAway = HomeAway.Away, Team = competitors[1].Team, }; matchEntry.Lineup = CreateLineup(matchEntry, 11); matchEntries.Add(matchEntry); var match = new TeamLeagueMatch { Guid = new Guid("00000000-0000-0000-0000-000000000000"), TeamLeagueRound = round, MatchEntries = matchEntries }; match.MatchEntries.ToList().ForEach(me => me.TeamLeagueMatch = match); return(new List <TeamLeagueMatch> { match }); }
public void Given_ScoreForOpponentIsSet_When_GetGoalsAgainst_Then_GoalsForOpponentAreReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var teamChelsea = new Team { Name = "Chelsea" }; var match = new TeamLeagueMatch { MatchEntries = new List <TeamMatchEntry> { new TeamMatchEntry { Team = teamLiverpool, Score = new IntegerScore { Value = 2 } }, new TeamMatchEntry { Team = teamChelsea, Score = new IntegerScore { Value = 1 } } } }; //Assert match.GetGoalsAgainst(teamLiverpool).Should().Be(1); }
public void Given_ScoreIsMissing_When_Winner_Then_NullIsReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var teamChelsea = new Team { Name = "Chelsea" }; var match = new TeamLeagueMatch { MatchEntries = new List <TeamMatchEntry> { new TeamMatchEntry { HomeAway = HomeAway.Home, Team = teamLiverpool, Score = null }, new TeamMatchEntry { HomeAway = HomeAway.Away, Team = teamChelsea, Score = null } } }; //Assert match.Winner.Should().BeNull(); }
public void Given_NoScoreValues_When_GetGoalsAgainst_Then_ZeroIsReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var teamChelsea = new Team { Name = "Chelsea" }; var match = new TeamLeagueMatch { MatchEntries = new List <TeamMatchEntry> { new TeamMatchEntry { Team = teamLiverpool, Score = new IntegerScore() }, new TeamMatchEntry { Team = teamChelsea, Score = new IntegerScore() } } }; //Assert match.GetGoalsAgainst(teamLiverpool).Should().Be(0); }
public void Given_NoPointSystem_When_GetPointsFor_Then_ZeroIsReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var match = new TeamLeagueMatch(); //Assert match.GetPointsFor(teamLiverpool, null).Should().Be(0); }
public void Given_MatchEntryDoesNotExistForTeam_When_GetGoalsForTeam_Then_NullIsReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var match = new TeamLeagueMatch(); //Assert match.GetGoalsFor(teamLiverpool).Should().Be(0); }
public void Given_NoMatchEntries_When_GetPointsFor_Then_ZeroIsReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var match = new TeamLeagueMatch(); var pointSystem = new PointSystem(3, 1, 0); //Assert match.GetPointsFor(teamLiverpool, pointSystem).Should().Be(0); }
public void Given_NoMatchEntries_When_GetGoalsAgainst_Then_ZeroIsReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var teamChelsea = new Team { Name = "Chelsea" }; var match = new TeamLeagueMatch(); //Assert match.GetGoalsAgainst(teamLiverpool).Should().Be(0); }
public TeamLeagueMatch GetMatch(Guid guid) { TeamLeagueMatch match = null; if (Rounds != null) { foreach (var round in Rounds) { match = round.Matches.SingleOrDefault(m => m.Guid == guid); if (match != null) { break; } } } return(match); }
public void CreateRounds() { int amountOfRounds = (Competitors.Count - 1) * 2; for (int r = 1; r <= amountOfRounds; r++) { var round = new TeamLeagueRound { Name = $"Round {r}" }; for (int m = 0; m < Competitors.Count / 2; m++) { var match = new TeamLeagueMatch { Guid = Guid.NewGuid() }; match.CreateMatchEntries(Sports.Options.AmountOfPlayers); round.Matches.Add(match); } Rounds.Add(round); } }
public void Given_Lost_When_GetPointsFor_Then_LostPointsAreReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var teamChelsea = new Team { Name = "Chelsea" }; var match = new TeamLeagueMatch { MatchEntries = new List <TeamMatchEntry> { new TeamMatchEntry { HomeAway = HomeAway.Home, Team = teamLiverpool, Score = new IntegerScore { Value = 1 } }, new TeamMatchEntry { HomeAway = HomeAway.Away, Team = teamChelsea, Score = new IntegerScore { Value = 2 } } } }; var pointSystem = new PointSystem(3, 1, 0); //Assert match.GetPointsFor(teamLiverpool, pointSystem).Should().Be(0); }
public void Given_AwayTeamIsWinner_When_Winner_Then_AwayTeamIsReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var teamChelsea = new Team { Name = "Chelsea" }; var match = new TeamLeagueMatch { MatchEntries = new List <TeamMatchEntry> { new TeamMatchEntry { HomeAway = HomeAway.Home, Team = teamLiverpool, Score = new IntegerScore { Value = 0 } }, new TeamMatchEntry { HomeAway = HomeAway.Away, Team = teamChelsea, Score = new IntegerScore { Value = 1 } } } }; //Assert match.Winner.Should().Be(teamChelsea); }
public void Given_ScoreForAwayTeamIsSet_When_GetGoalsForAwayTeam_Then_GoalsForAwayTeamAreReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var teamChelsea = new Team { Name = "Chelsea" }; var match = new TeamLeagueMatch { MatchEntries = new List <TeamMatchEntry> { new TeamMatchEntry { HomeAway = HomeAway.Home, Team = teamLiverpool, Score = new IntegerScore { Value = 2 } }, new TeamMatchEntry { HomeAway = HomeAway.Away, Team = teamChelsea, Score = new IntegerScore { Value = 1 } } } }; //Assert match.GetGoalsFor(teamChelsea).Should().Be(1); }
public void Given_GameIsNotADraw_When_IsDraw_Then_FalseIsReturned() { //Act var teamLiverpool = new Team { Name = "Liverpool" }; var teamChelsea = new Team { Name = "Chelsea" }; var match = new TeamLeagueMatch { MatchEntries = new List <TeamMatchEntry> { new TeamMatchEntry { HomeAway = HomeAway.Home, Team = teamLiverpool, Score = new IntegerScore { Value = 1 } }, new TeamMatchEntry { HomeAway = HomeAway.Away, Team = teamChelsea, Score = new IntegerScore { Value = 0 } } } }; //Assert match.IsDraw.Should().Be(false); }