public async Task DistincPlayerPerDay() { var time1 = new DateTime(2020, 10, 17); var gamesPerDay1 = DistinctPlayersPerDay.Create(new DateTimeOffset(time1)); var time2 = new DateTime(2020, 10, 16); var gamesPerDay2 = DistinctPlayersPerDay.Create(new DateTimeOffset(time2)); gamesPerDay1.AddPlayer("peter"); gamesPerDay1.AddPlayer("wolf"); gamesPerDay2.AddPlayer("peter"); var w3StatsRepo = new W3StatsRepo(MongoClient); await w3StatsRepo.Save(gamesPerDay1); await w3StatsRepo.Save(gamesPerDay2); var gamesReloaded1 = await w3StatsRepo.LoadPlayersPerDay(time1); var gamesReloaded2 = await w3StatsRepo.LoadPlayersPerDay(time2); Assert.AreEqual(2, gamesReloaded1.DistinctPlayers); Assert.AreEqual(2, gamesReloaded1.DistinctPlayers); Assert.AreEqual(1, gamesReloaded2.DistinctPlayers); Assert.AreEqual("peter", gamesReloaded1.Players[0]); Assert.AreEqual("wolf", gamesReloaded1.Players[1]); Assert.AreEqual("peter", gamesReloaded2.Players[0]); }
public async Task PlayTimesPerDay_Average_TimeIsSetCorrectly_afterLoad() { var dateTime = new DateTimeOffset(new DateTime(2020, 10, 16)); var hourOfPlayStats = HourOfPlayStat.Create(dateTime); var w3StatsRepo = new W3StatsRepo(MongoClient); await w3StatsRepo.Save(hourOfPlayStats); var hourOfPlayStatsLoaded = await w3StatsRepo.LoadHourOfPlay(); Assert.AreEqual(0, hourOfPlayStatsLoaded.PlayTimesPerMode[0].PlayTimePerHour[0].Minutes); Assert.AreEqual(0, hourOfPlayStatsLoaded.PlayTimesPerMode[0].PlayTimePerHour[0].Hours); Assert.AreEqual(15, hourOfPlayStatsLoaded.PlayTimesPerMode[0].PlayTimePerHour[1].Minutes); Assert.AreEqual(0, hourOfPlayStatsLoaded.PlayTimesPerMode[0].PlayTimePerHour[1].Hours); Assert.AreEqual(0, hourOfPlayStatsLoaded.PlayTimesPerMode[0].PlayTimePerHour[4].Minutes); Assert.AreEqual(1, hourOfPlayStatsLoaded.PlayTimesPerMode[0].PlayTimePerHour[4].Hours); }