public async Task PlayerMultipleWinRecords() { var playerRepository = new PlayerRepository(MongoClient); var personalSettingsRepo = new PersonalSettingsRepository(MongoClient); var handler = new PlayerOverallStatsHandler(playerRepository, personalSettingsRepo); var handler2 = new PlayerGameModeStatPerGatewayHandler(playerRepository); var handler3 = new PlayerRaceStatPerGatewayHandler(playerRepository); var ev = TestDtoHelper.CreateFakeEvent(); ev.match.gameMode = GameMode.GM_1v1; ev.match.gateway = GateWay.Europe; ev.match.season = 1; ev.match.players[0].battleTag = "peter#123"; ev.match.players[0].battleTag = "peter#123"; ev.match.players[0].race = Race.HU; ev.match.players[1].race = Race.OC; for (int i = 0; i < 100; i++) { await handler.Update(ev); await handler2.Update(ev); await handler3.Update(ev); } var playerLoaded = await playerRepository.LoadRaceStatPerGateway("peter#123", Race.HU, GateWay.Europe, 1); var playerLoadedStats = await playerRepository.LoadGameModeStatPerGateway("peter#123", GateWay.Europe, 1); Assert.AreEqual(100, playerLoadedStats.Single().Wins); Assert.AreEqual(100, playerLoaded.Wins); }
public async Task PlayerStats_PlayerParticipatedRaceIsCorrect() { var playerRepository = new PlayerRepository(MongoClient); var playerHeroStatsHandler = new PlayerOverallStatsHandler(playerRepository); var matchFinishedEvent1 = TestDtoHelper.CreateFakeEvent(); matchFinishedEvent1.match.season = 0; var matchFinishedEvent2 = TestDtoHelper.CreateFakeEvent(); matchFinishedEvent2.match.season = 1; var matchFinishedEvent3 = TestDtoHelper.CreateFakeEvent(); matchFinishedEvent3.match.season = 1; await playerHeroStatsHandler.Update(matchFinishedEvent1); await playerHeroStatsHandler.Update(matchFinishedEvent2); await playerHeroStatsHandler.Update(matchFinishedEvent3); var enemyStatsVsPlayerRace = await playerRepository.LoadPlayerProfile(matchFinishedEvent1.match.players[0].battleTag); Assert.AreEqual(2, enemyStatsVsPlayerRace.ParticipatedInSeasons.Count); Assert.AreEqual(1, enemyStatsVsPlayerRace.ParticipatedInSeasons[0].Id); Assert.AreEqual(0, enemyStatsVsPlayerRace.ParticipatedInSeasons[1].Id); }