示例#1
0
        public void NoRegistrations()
        {
            //Arrange
            var wa = new WelfordsAlgorithm();

            //Assert
            Assert.Equal(0, wa.GetNormalSample(), 2);
        }
示例#2
0
        public void ZeroAmount()
        {
            //Arrange
            var wa = new WelfordsAlgorithm();

            wa.AddDataPoint(0);
            //Assert
            Assert.Equal(0, wa.GetNormalSample(), 0);
        }
示例#3
0
        public void NegativeAmount()
        {
            //Arrange
            var wa = new WelfordsAlgorithm();

            wa.AddDataPoint(-1);
            //Assert
            Assert.Equal(-1, wa.GetNormalSample());
        }
示例#4
0
        public void CalculateMeanAndStdDev(double[] inputValues, double expectedMean, double expectedStDev)
        {
            //Arrange
            var sut = new WelfordsAlgorithm();
            WelfordsAlgorithmState result = null;

            //Act
            foreach (var dataPoint in inputValues)
            {
                result = sut.AddDataPoint(dataPoint);
            }

            //Assert
            Assert.NotNull(result);
            Assert.Equal(expectedMean, result.Mean, 2);
            Assert.Equal(expectedStDev, result.StandardDeviation, 2);
        }