Esempio n. 1
0
        public void ReturnSingleItem_GivenOneRecentCommandUsage()
        {
            var tracker = new CommandCooldownTracker(new CommandHandlerSettings {
                GlobalCommandCooldown = 1
            }, _loggerAdapter);
            DateTimeOffset currentTime = DateTimeOffset.UtcNow;

            tracker.RecordUsage(new CommandUsage(_testUser1, currentTime, null));

            var usages = tracker.GetUsagesByUserSubjectToCooldown(_testUser1, currentTime);

            usages.Should().HaveCount(1);
        }
Esempio n. 2
0
        public void ReturnEmptyCollection_GivenOneOldCommandUsage()
        {
            var tracker = new CommandCooldownTracker(new CommandHandlerSettings {
                GlobalCommandCooldown = 1
            }, _loggerAdapter);
            DateTimeOffset currentTime         = DateTimeOffset.UtcNow;
            DateTimeOffset timeUsageWasInvoked = currentTime.AddSeconds(-2);

            tracker.RecordUsage(new CommandUsage(_testUser1, timeUsageWasInvoked, null));

            var usages = tracker.GetUsagesByUserSubjectToCooldown(_testUser1, currentTime);

            usages.Should().BeEmpty();
        }