コード例 #1
0
        public async Task NumberOfGamesFromLastDaysAsync_Was10Games_WeGet10(int numberOfDays)
        {
            DateTime date       = DateTime.Now;
            var      statistics = new ServerActivityStatistics(date)
            {
                NumberOfGames = 2
            };

            _db.ServerActivityStatistics.Add(statistics);

            for (int i = 1; i <= numberOfDays - 1; i++)
            {
                date = DateTime.Now;
                date.AddDays(-i);
                statistics = new ServerActivityStatistics(date)
                {
                    NumberOfGames = 2
                };
                _db.ServerActivityStatistics.Add(statistics);
            }
            await _db.SaveChangesAsync();

            int result = await _analyzer.NumberOfGamesFromLastDaysAsync(numberOfDays);

            Assert.AreEqual(numberOfDays * 2, result);
        }
コード例 #2
0
        /// <inheritdoc />
        public async Task UpdateWithoutSavingChanges(IEnumerable <DuelLog> duelLogsFromOneFile)
        {
            var duelLogsFromDate = _sortByDate(duelLogsFromOneFile);

            await _initServerActivityStatisticsFromDbIfIsNull();

            foreach (var duelLogFromDate in duelLogsFromDate)
            {
                var fromDate = duelLogFromDate.Key;
                var duelLogs = duelLogFromDate.Value;

                var serverActivityStatistics = _serverActivityStatistics
                                               .Where(x => x.FromDate.Date == fromDate.Date)
                                               .FirstOrDefault();
                if (serverActivityStatistics == null)
                {
                    serverActivityStatistics = new ServerActivityStatistics(fromDate.Date);
                    serverActivityStatistics.NumberOfGames += duelLogs.Count();
                    _db.ServerActivityStatistics.Add(serverActivityStatistics);
                    _serverActivityStatistics.Add(serverActivityStatistics);
                }
                else
                {
                    serverActivityStatistics.NumberOfGames += duelLogs.Count();
                }
            }
        }
コード例 #3
0
        public async Task NumberOfGamesFromOneDayAsync_ThereWas5GamesThatDay_WeGet5()
        {
            DateTime date       = new DateTime(1997, 04, 29);
            var      statistics = new ServerActivityStatistics(date)
            {
                NumberOfGames = 5
            };

            _db.ServerActivityStatistics.Add(statistics);
            await _db.SaveChangesAsync();

            Assert.AreEqual(5, await _analyzer.NumberOfGamesFromOneDayAsync(date));
        }
コード例 #4
0
        public async Task NumberOfGamesFromOneYearAsync_Was120Games_WeGet120()
        {
            for (int i = 1; i <= 12; i++)
            {
                DateTime date       = new DateTime(2019, i, i);
                var      statistics = new ServerActivityStatistics(date)
                {
                    NumberOfGames = 10
                };
                _db.ServerActivityStatistics.Add(statistics);
            }

            await _db.SaveChangesAsync();

            int result = await _analyzer.NumberOfGamesFromOneYearAsync(2019);

            Assert.AreEqual(120, result);
        }
コード例 #5
0
        public async Task NumberOfGamesFromMonthAsync_Was5Games_WeGet5()
        {
            DateTime date       = new DateTime(2019, 04, 1);
            var      statistics = new ServerActivityStatistics(date)
            {
                NumberOfGames = 2
            };

            DateTime date2       = new DateTime(2019, 04, 29);
            var      statistics2 = new ServerActivityStatistics(date)
            {
                NumberOfGames = 3
            };

            _db.ServerActivityStatistics.Add(statistics);
            _db.ServerActivityStatistics.Add(statistics2);
            await _db.SaveChangesAsync();

            int result = await _analyzer.NumberOfGamesFromMonthAsync(2019, 4);

            Assert.AreEqual(5, result);
        }