public void Add()
        {
            data             = new SystemUsageData();
            data.UserCpuUsed = 40;
            data.WorkingSet  = 200;
            instance.Add(data);
            instance.Recalculate();

            Assert.AreEqual(40, instance.Average.UserCpuUsed);
            Assert.AreEqual(200, instance.Average.WorkingSet);

            Assert.AreEqual(40, instance.Max.UserCpuUsed);
            Assert.AreEqual(200, instance.Max.WorkingSet);


            data             = new SystemUsageData();
            data.UserCpuUsed = 20;
            data.WorkingSet  = 100;
            instance.Add(data);
            instance.Recalculate();

            Assert.AreEqual(30, instance.Average.UserCpuUsed);
            Assert.AreEqual(150, instance.Average.WorkingSet);

            Assert.AreEqual(40, instance.Max.UserCpuUsed);
            Assert.AreEqual(200, instance.Max.WorkingSet);
        }
        public void RemoveOlder()
        {
            data             = new SystemUsageData();
            data.UserCpuUsed = 40;
            data.WorkingSet  = 200;
            instance.Add(data);
            instance.Recalculate();

            Assert.AreEqual(40, instance.Average.UserCpuUsed);
            Assert.AreEqual(200, instance.Average.WorkingSet);

            configuration.Setup(item => item.Now).Returns(DateTime.UtcNow.AddHours(1));
            instance.RemoveOlder(TimeSpan.FromMinutes(1));
            instance.Recalculate();

            Assert.AreEqual(0, instance.Average.UserCpuUsed);
            Assert.AreEqual(0, instance.Average.WorkingSet);

            Assert.AreEqual(0, instance.Max.UserCpuUsed);
            Assert.AreEqual(0, instance.Max.WorkingSet);
        }