public void Store_updates_all_supported_historical_periods() { var store = new VariableHistoryIntervalStore <int>(); var entries = EntriesBuilder.Build(new Dictionary <DateTime, long> { { now, 5L } }); store.Store(0, entries); foreach (var period in HistoryPeriod.All) { var reportDelay = TimeSpan.FromTicks(period.IntervalSize.Ticks * period.DelayedIntervals); var intervals = store.GetIntervals(period, now.Add(reportDelay)); Assert.AreEqual(1, intervals.Length); Assert.AreEqual(5L, intervals[0].TotalValue); Assert.AreEqual(1L, intervals[0].TotalMeasurements); } }
public void Delayed_intervals_are_not_reported() { const int delayedIntervals = 5; var intervalSize = TimeSpan.FromSeconds(1); var delay = TimeSpan.FromTicks(delayedIntervals * intervalSize.Ticks); var entries = EntriesBuilder.Build(new Dictionary <DateTime, long> { { now.AddSeconds(-4), 1L }, { now.AddSeconds(-3), 1L }, { now, 1L } }); var store = new IntervalsStore <int>(intervalSize, 10, delayedIntervals); store.Store(0, entries); var timings = store.GetIntervals(now); var delayedTimings = store.GetIntervals(now.Add(delay)); Assert.AreEqual(0, timings[0].TotalMeasurements); Assert.AreEqual(3, delayedTimings[0].TotalMeasurements); }