public void NextValue_Test() { var movingAverage = new MovingAverage(0); Assert.AreEqual(1, movingAverage.NextValue(1)); Assert.AreEqual(2, movingAverage.NextValue(3)); }
public void WithDefaultWindowSize_Test() { var movingAverage = new MovingAverage(0); movingAverage.NextValue(1); movingAverage.NextValue(1); movingAverage.NextValue(1); movingAverage.NextValue(1); movingAverage.NextValue(1); Assert.AreEqual(1, movingAverage.Sum); }
public void Reset_Test() { var movingAverage = new MovingAverage(0); movingAverage.NextValue(1); movingAverage.Reset(); Assert.AreEqual(0, movingAverage.Sum); }
public static long CalculateAverageUploadSpeed(long sent, TimeSpan duration, MovingAverage movingAverage) { if (movingAverage == null) { throw new ArgumentNullException("movingAverage"); } if (duration.Ticks == 0) { return 0; } long average = movingAverage.NextValue(duration.Ticks); TimeSpan timeSpan = new TimeSpan(average); double result = 100 / timeSpan.TotalMilliseconds; double bandwidth = result * sent; return (long) bandwidth; }
public void Moving_Test() { var movingAverage = new MovingAverage(0); movingAverage.NextValue(1); // Will be removed movingAverage.NextValue(2); movingAverage.NextValue(3); movingAverage.NextValue(4); movingAverage.NextValue(5); movingAverage.NextValue(6); Assert.AreEqual(4, movingAverage.Sum); }