public void Reset_should_clear_average() { var subject = new ExponentiallyWeightedMovingAverage(1); subject.AddSample(TimeSpan.FromSeconds(10)); subject.Average.Should().NotBe(default);
public void Average_should_be_properly_computed(double alpha, int[] samples, double result) { var subject = new ExponentiallyWeightedMovingAverage(alpha); foreach (var sample in samples) { subject.AddSample(TimeSpan.FromMilliseconds(sample)); } subject.Average.TotalMilliseconds.Should().Be(result); }
public void RunTestDefinition(BsonDocument definition) { var subject = new ExponentiallyWeightedMovingAverage(0.2); var current = definition["avg_rtt_ms"]; if (current.ToString() != "NULL") { subject.AddSample(TimeSpan.FromMilliseconds(current.ToDouble())); // the first value } var nextValue = definition["new_rtt_ms"].ToDouble(); subject.AddSample(TimeSpan.FromMilliseconds(nextValue)); var expected = definition["new_avg_rtt"].ToDouble(); subject.Average.Should().BeCloseTo(TimeSpan.FromMilliseconds(expected), 1); }