public async Task HappyPath_MoreGames() { 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 [] { "moutainking" }); var matchFinishedEvent4 = CreatFakeEvent(new [] { "moutainking" }, new [] { "deathknight", "lich" }); await handler.Update(matchFinishedEvent1); await handler.Update(matchFinishedEvent2); await handler.Update(matchFinishedEvent3); await handler.Update(matchFinishedEvent4); var dkStats = await w3StatsRepo.LoadHeroWinrate("deathknight_lich"); var lichStats = await w3StatsRepo.LoadHeroWinrate("lich"); Assert.AreEqual(0, dkStats.WinRates[0].WinLoss.Losses); Assert.AreEqual(1, dkStats.WinRates[0].WinLoss.Wins); Assert.AreEqual("archmage", dkStats.WinRates[0].HeroCombo); Assert.AreEqual(1, dkStats.WinRates[1].WinLoss.Losses); Assert.AreEqual(1, dkStats.WinRates[1].WinLoss.Wins); Assert.AreEqual("moutainking", dkStats.WinRates[1].HeroCombo); Assert.AreEqual(0, lichStats.WinRates[0].WinLoss.Losses); Assert.AreEqual(1, lichStats.WinRates[0].WinLoss.Wins); Assert.AreEqual("archmage", lichStats.WinRates[0].HeroCombo); }
public async Task HappyPath() { var w3StatsRepo = new W3StatsRepo(MongoClient); var handler = new OverallHeroWinRatePerHeroModelHandler(w3StatsRepo); var matchFinishedEvent = CreatFakeEvent(new [] { "deathknight", "lich" }, new [] { "archmage" }); await handler.Update(matchFinishedEvent); var amStats = await w3StatsRepo.LoadHeroWinrate("archmage"); var dkStats = await w3StatsRepo.LoadHeroWinrate("deathknight_lich"); Assert.AreEqual(1, amStats.WinRates[0].WinLoss.Losses); Assert.AreEqual(0, amStats.WinRates[0].WinLoss.Wins); Assert.AreEqual("deathknight_lich", amStats.WinRates[0].HeroCombo); Assert.AreEqual(0, dkStats.WinRates[0].WinLoss.Losses); Assert.AreEqual(1, dkStats.WinRates[0].WinLoss.Wins); Assert.AreEqual("archmage", dkStats.WinRates[0].HeroCombo); }