public void only_cache_up_to_the_setting_limit() { var settings = new DiagnosticsSettings { MaxRequests = 10 }; var cache = new RequestHistoryCache(settings); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.RecentReports().Count().ShouldEqual(9); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.Store(new RequestLog()); cache.RecentReports().Count().ShouldEqual(settings.MaxRequests); }
public void only_keeps_50_records() { var history = new RequestHistoryCache(); for (int i = 0; i < 60; i++) { history.AddReport(new DebugReport()); } history.RecentReports().ShouldHaveCount(50); }
public void keep_the_newest_reports() { var history = new RequestHistoryCache(); for (int i = 0; i < 50; i++) { history.AddReport(new DebugReport()); } var report1 = new DebugReport(); var report2 = new DebugReport(); var report3 = new DebugReport(); history.AddReport(report1); history.AddReport(report2); history.AddReport(report3); history.RecentReports().Take(3).ShouldHaveTheSameElementsAs(report3, report2, report1); }