Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }