public async Task UpdateStandings_3WayTieBrokenWithWin_2TiedUsersHaveCorrectTieBreakScores() { var season = CreateSeason((1, 5, 1000), (2, 5, 100), (3, 5, 10), (4, 2, 0)); var player1 = season.Participants[0]; var player2 = season.Participants[1]; var player3 = season.Participants[2]; var player4 = season.Participants[3]; MockTieBreak(arg => { arg.First(p => p.Key.ID == player1.ID).Key.TieBreakerPoints = 100; arg.First(p => p.Key.ID == player3.ID).Key.TieBreakerPoints = 10; }); pointCalculator.CalculatePointDeltas(player2, player4).Returns((2, 1)); var set = SetUtility.Create(dbContext, player2, player4, season.LeagueID); DbContextUtility.UpdateAndSave(dbContext, set, () => { set.Player1Score = 1; set.Player2Score = 0; }); await testObj.UpdateStandings(set.ID); Assert.Greater(player1.TieBreakerPoints, 0); Assert.Greater(player3.TieBreakerPoints, 0); Assert.AreEqual(0, player2.TieBreakerPoints); }
public async Task UpdateStandings_Newcomer_PointsUpdated() { var league = CreateLeague(2); var player1 = league.Members[0]; var originalPoints = player1.Points; var set = SetUtility.Create(dbContext, player1.ID, league.Members[1].ID, league.ID); DbContextUtility.UpdateAndSave(dbContext, set, () => { set.IsComplete = true; }); pointService.CalculatePointDeltas(0, 0, false).ReturnsForAnyArgs((1, -1)); await testObj.UpdateStandings(league.ID); Assert.AreNotEqual(originalPoints, player1.Points); }