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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }