public async Task HappyPath_MoreGames_DtoHasCorrectSums() { var w3StatsRepo = new W3StatsRepo(MongoClient); var handler = new OverallHeroWinRatePerHeroModelHandler(w3StatsRepo); var matchFinishedEvent1 = CreatFakeEvent(new [] { "deathknight", "lich" }, new [] { "archmage" }); var matchFinishedEvent2 = CreatFakeEvent(new [] { "lich", }, new [] { "archmage" }); var matchFinishedEvent3 = CreatFakeEvent(new [] { "deathknight", "lich" }, new [] { "archmage", "moutainking" }); var matchFinishedEvent4 = CreatFakeEvent(new [] { "archmage", "bloodmage" }, new [] { "deathknight", "lich" }); var matchFinishedEvent5 = CreatFakeEvent(new [] { "bloodmage" }, new [] { "deathknight", "lich" }); await handler.Update(matchFinishedEvent1); await handler.Update(matchFinishedEvent2); await handler.Update(matchFinishedEvent3); await handler.Update(matchFinishedEvent4); await handler.Update(matchFinishedEvent5); var heroStatsQueryHandler = new HeroStatsQueryHandler(new W3StatsRepo(MongoClient)); var heroWinrateDto = await heroStatsQueryHandler.GetStats("deathknight", "lich", "all", "archmage", "all", "all"); Assert.AreEqual(2, heroWinrateDto.Wins); Assert.AreEqual(1, heroWinrateDto.Losses); }
public W3CStatsController( IW3StatsRepo w3StatsRepo, HeroStatsQueryHandler heroStatsQueryHandler, MmrDistributionHandler mmrDistributionHandler) { _w3StatsRepo = w3StatsRepo; _heroStatsQueryHandler = heroStatsQueryHandler; _mmrDistributionHandler = mmrDistributionHandler; }
public W3CStatsController( IW3StatsRepo w3StatsRepo, HeroStatsQueryHandler heroStatsQueryHandler, MmrDistributionHandler mmrDistributionHandler, IPlayerRepository playerRepository) { _w3StatsRepo = w3StatsRepo; _heroStatsQueryHandler = heroStatsQueryHandler; _mmrDistributionHandler = mmrDistributionHandler; _playerRepository = playerRepository; }
public async Task MoreGames_MirrorBug() { var w3StatsRepo = new W3StatsRepo(MongoClient); var handler = new OverallHeroWinRatePerHeroModelHandler(w3StatsRepo); await handler.Update(CreatFakeEvent(new [] { "archmage", "mountainking", "paladin" }, new [] { "archmage", "mountainking", "paladin" })); await handler.Update(CreatFakeEvent(new [] { "archmage", "mountainking", "paladin" }, new [] { "archmage", "mountainking", "paladin" })); await handler.Update(CreatFakeEvent(new [] { "archmage", "mountainking", "paladin" }, new [] { "archmage", "mountainking", "paladin" })); await handler.Update(CreatFakeEvent(new [] { "archmage", "mountainking", "paladin" }, new [] { "archmage", "mountainking", "paladin" })); await handler.Update(CreatFakeEvent(new [] { "archmage", "mountainking", "paladin" }, new [] { "archmage", "mountainking", "paladin" })); var heroStatsQueryHandler = new HeroStatsQueryHandler(new W3StatsRepo(MongoClient)); var heroWinrateDto = await heroStatsQueryHandler.GetStats("archmage", "all", "all", "archmage", "all", "all"); Assert.AreEqual(5, heroWinrateDto.Losses); Assert.AreEqual(5, heroWinrateDto.Wins); }