public void ShouldProcessSeriesGameBestOf() { var homeTeam = CreateTeam("A Team", 1, 1); var awayTeam = CreateTeam("B Team", 2, 2); var series = new BestOfSeries(null, "Test", 1, 1, homeTeam, awayTeam, 0, 0, 2, null, null); var game1 = CreateGame(5, 4, true, homeTeam, awayTeam); var game2 = CreateGame(8, 3, true, awayTeam, homeTeam); var game3 = CreateGame(2, 3, true, awayTeam, homeTeam); False(series.IsComplete()); series.ProcessGame(game1); StrictEqual(1, series.HomeWins); StrictEqual(0, series.AwayWins); False(series.IsComplete()); series.ProcessGame(game2); StrictEqual(1, series.HomeWins); StrictEqual(1, series.AwayWins); False(series.IsComplete()); series.ProcessGame(game3); StrictEqual(2, series.HomeWins); StrictEqual(1, series.AwayWins); True(series.IsComplete()); }
public void ProcessGamesForBestofSeries() { var teamA = CreateTeam("Team A", 1, 1); var teamB = CreateTeam("Team B", 2, 2); var series = new BestOfSeries(null, "Test", 1, 1, teamA, teamB, 0, 0, 4, new List <PlayoffGame>(), new int[] { 0, 0, 1, 1, 0, 1, 0 }); var game1 = CreateGame(1, 0, true, teamA, teamB); var game2 = CreateGame(0, 0, false, teamA, teamB); var game3 = CreateGame(0, 0, false, teamA, teamB); var game4 = CreateGame(0, 0, false, teamA, teamB); var game5 = CreateGame(0, 0, false, teamA, teamB); var game6 = CreateGame(0, 0, false, teamA, teamB); var game7 = CreateGame(0, 0, false, teamA, teamB); series.ProcessGame(game1); StrictEqual(1, series.HomeWins); StrictEqual(0, series.AwayWins); series.Games.Add(game1); series.Games.Add(game2); StrictEqual(2, series.NumberOfGamesNeeded()); series.Games.Add(game3); StrictEqual(1, series.NumberOfGamesNeeded()); series.Games.Add(game4); StrictEqual(0, series.NumberOfGamesNeeded()); game2.AwayScore = 3; game2.Complete = true; series.ProcessGame(game2); //should be home 1 away 1 StrictEqual(1, series.NumberOfGamesNeeded()); game3.HomeScore = 5; game3.Complete = true; game4.AwayScore = 3; game4.Complete = true; series.ProcessGame(game3); series.ProcessGame(game4); StrictEqual(2, series.NumberOfGamesNeeded()); }