public async Task PlayersFromAn2v2ATMatch_GameModeHandler_Test() { var playerRepository = new PlayerRepository(MongoClient); var handler = new PlayerGameModeStatPerGatewayHandler(playerRepository); var ev = TestDtoHelper.CreateFake2v2AtEvent(); ev.match.season = 1; ev.match.players[0].battleTag = "peter#123"; ev.match.players[0].won = true; ev.match.players[1].battleTag = "wolf#456"; ev.match.players[1].won = true; ev.match.players[2].battleTag = "TEAM2#123"; ev.match.players[2].won = false; ev.match.players[3].battleTag = "TEAM2#456"; ev.match.players[3].won = false; await handler.Update(ev); var winners = await playerRepository.LoadGameModeStatPerGateway("1_peter#123@10_wolf#456@10_GM_2v2_AT", GateWay.America, 1); var losers = await playerRepository.LoadGameModeStatPerGateway("1_TEAM2#123@10_TEAM2#456@10_GM_2v2_AT", GateWay.America, 1); Assert.AreEqual(1, winners.First(x => x.GameMode == GameMode.GM_2v2_AT).Wins); Assert.AreEqual(0, winners.First(x => x.GameMode == GameMode.GM_2v2_AT).Losses); Assert.AreEqual(1, losers.First(x => x.GameMode == GameMode.GM_2v2_AT).Losses); Assert.AreEqual(0, losers.First(x => x.GameMode == GameMode.GM_2v2_AT).Wins); }
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 PlayersFromAn1v1Match_GameModeHandler_Test() { var playerRepository = new PlayerRepository(MongoClient); var handler = new PlayerGameModeStatPerGatewayHandler(playerRepository); var ev = TestDtoHelper.CreateFakeEvent(); ev.match.season = 1; ev.match.players[0].battleTag = "peter#123"; ev.match.players[0].won = true; ev.match.players[1].battleTag = "wolf#456"; ev.match.players[1].won = false; await handler.Update(ev); var winnerStatGateWay = await playerRepository.LoadGameModeStatPerGateway("peter#123", GateWay.Europe, 1); var loser = await playerRepository.LoadGameModeStatPerGateway("wolf#456", GateWay.Europe, 1); Assert.AreEqual(1, winnerStatGateWay.First(x => x.GameMode == GameMode.GM_1v1).Wins); Assert.AreEqual(1, loser.First(x => x.GameMode == GameMode.GM_1v1).Losses); Assert.AreEqual(0, loser.First(x => x.GameMode == GameMode.GM_1v1).Wins); }
public async Task UpdateOverview_HandlerUpdate_FootmenFrenzy() { var matchFinishedEvent = TestDtoHelper.CreateFakeFootmenFrenzyEvent(); var playerRepository = new PlayerRepository(MongoClient); var handler = new PlayerGameModeStatPerGatewayHandler(playerRepository); await handler.Update(matchFinishedEvent); var winners = matchFinishedEvent.match.players.Where(x => x.won); Assert.AreEqual(3, winners.Count()); foreach (var player in winners) { var winnerStatGateWay = await playerRepository.LoadGameModeStatPerGateway(player.battleTag, GateWay.Europe, matchFinishedEvent.match.season); Assert.AreEqual(1, winnerStatGateWay.First(x => x.GameMode == GameMode.GM_FOOTMEN_FRENZY).Wins); Assert.AreEqual(0, winnerStatGateWay.First(x => x.GameMode == GameMode.GM_FOOTMEN_FRENZY).Losses); } var losers = matchFinishedEvent.match.players.Where(x => !x.won); Assert.AreEqual(9, losers.Count()); foreach (var player in losers) { var winnerStatGateWay = await playerRepository.LoadGameModeStatPerGateway(player.battleTag, GateWay.Europe, matchFinishedEvent.match.season); Assert.AreEqual(0, winnerStatGateWay.First(x => x.GameMode == GameMode.GM_FOOTMEN_FRENZY).Wins); Assert.AreEqual(1, winnerStatGateWay.First(x => x.GameMode == GameMode.GM_FOOTMEN_FRENZY).Losses); } }