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); }
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(); }