public void TestAverageMeasure() { var sampleCutoff = TimeSpan.FromMilliseconds(5000); var sampleResolution = TimeSpan.FromMilliseconds(100); using (var averageMeasure = new AverageMeasure(sampleCutoff, sampleResolution)) { // add samples var count = 5; var value = 10; for (var i = 0; i < count; i++) { averageMeasure.Tick(value); } // wait half the cutoff time and verify average Thread.Sleep(new TimeSpan(sampleCutoff.Ticks / 2)); Assert.AreEqual((int)value, (int)averageMeasure.GetAverage()); // wait for the cutoff time to pass and verify the average dropped to 0 Thread.Sleep(sampleCutoff); Assert.AreEqual(0, (int)averageMeasure.GetAverage()); // add new samples value = 50; for (var i = 0; i < count; i++) { averageMeasure.Tick(value); } // verify average Assert.AreEqual((int)value, (int)averageMeasure.GetAverage()); } }
public void TestAverageMeasure() { var sampleCutoff = TimeSpan.FromMilliseconds(5000); var sampleResolution = TimeSpan.FromMilliseconds(100); using (var averageMeasure = new AverageMeasure(sampleCutoff, sampleResolution)) { // add samples var count = 5; var value = 10; for (var i = 0; i < count; i++) { averageMeasure.Tick(value); } // wait half the cutoff time and verify average Thread.Sleep(new TimeSpan(sampleCutoff.Ticks / 2)); Assert.AreEqual((int)value, (int)averageMeasure.GetAverage()); // wait for the cutoff time to pass and verify the average dropped to 0 Thread.Sleep(sampleCutoff); Assert.AreEqual(0, (int)averageMeasure.GetAverage()); // add new samples value = 50; for (var i = 0; i < count; i++) { averageMeasure.Tick(value); } // verify average Assert.AreEqual((int)value, (int)averageMeasure.GetAverage()); } }