コード例 #1
0
        public void NextValue_Test()
        {
            var movingAverage = new MovingAverage(0);

            Assert.AreEqual(1, movingAverage.NextValue(1));
            Assert.AreEqual(2, movingAverage.NextValue(3));
        }
コード例 #2
0
        public void Reset_Test()
        {
            var movingAverage = new MovingAverage(0);

            movingAverage.NextValue(1);
            movingAverage.Reset();

            Assert.AreEqual(0, movingAverage.Sum);
        }
コード例 #3
0
        public void CalculateAverageUploadSpeed_Test()
        {
            var sent = 100;
            var movingAverate = new MovingAverage(0);
            var duration = new TimeSpan(0, 0, 0, 0, 1);

            var result = ProgressHelper.CalculateAverageUploadSpeed(sent, duration, movingAverate);

            Assert.AreEqual(10000, result);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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;
        }
コード例 #7
0
        public void ToString_Test()
        {
            var movingAverage = new MovingAverage(0);

            Assert.AreEqual("0", movingAverage.ToString());
        }