예제 #1
0
        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);
        }