Accord.Tests.Statistics.DescriptiveAnalysisTest.test C# (CSharp) Method

test() private static method

private static test ( DescriptiveAnalysis analysis ) : void
analysis DescriptiveAnalysis
return void
        private static void test(DescriptiveAnalysis analysis)
        {
            var columnNames = analysis.ColumnNames;
            var correlation = analysis.CorrelationMatrix;
            var covariance = analysis.CovarianceMatrix;
            var deviationScores = analysis.DeviationScores;
            var distinct = analysis.Distinct;
            var kurtosis = analysis.Kurtosis;
            var means = analysis.Means;
            var medians = analysis.Medians;
            var modes = analysis.Modes;
            var ranges = analysis.Ranges;
            var samples = analysis.Samples;
            var skewness = analysis.Skewness;
            var source = analysis.Source;
            var standardDeviation = analysis.StandardDeviations;
            var standardErrors = analysis.StandardErrors;
            var standardScores = analysis.StandardScores;
            var sums = analysis.Sums;
            var variables = analysis.Variables;
            var variances = analysis.Variances;
            var quartiles = analysis.Quartiles;
            var inner = analysis.InnerFences;
            var outer = analysis.OuterFences;

            Assert.IsTrue(columnNames.IsEqual(new string[] 
            {
                "Column 0",
                "Column 1",
                "Column 2",
            }));

            Assert.IsTrue(correlation.IsEqual(new double[,] 
            {
                {  1.00000000000000000, -0.24074447786944278, 0 },
                { -0.24074447786944278,  1.00000000000000000, 0 },
                {  0.00000000000000000,  0.00000000000000000, 0 }
            }));

            Assert.IsTrue(covariance.IsEqual(new double[,] 
            {
                {  0.3,  -3.1,  0.0 },
                { -3.1, 552.7,  0.0 },
                {  0.0,   0.0,  0.0 }
            }));

            Assert.IsTrue(deviationScores.IsEqual(new double[,] 
            {
                { -0.39999999999999991,   8.7999999999999972, 0.0 },
                {  0.60000000000000009, -31.200000000000003,  0.0 },
                { -0.39999999999999991,  21.799999999999997,  0.0 },
                { -0.39999999999999991, -18.200000000000003,  0.0 },
                {  0.60000000000000009,  18.799999999999997,  0.0 }
            }));

            Assert.IsTrue(distinct.IsEqual(new int[] { 2, 5, 1 }));
            Assert.IsTrue(kurtosis.IsEqual(new double[] { -3.3333333333333321, -2.213664721197441, double.NaN }));
            Assert.IsTrue(means.IsEqual(new double[] { 1.4, 43.2, 5.0 }));
            Assert.IsTrue(medians.IsEqual(new double[] { 1.0, 52.0, 5.0 }));
            Assert.IsTrue(modes.IsEqual(new double[] { 1.0, 12.0, 5.0 }));
            Assert.IsTrue(ranges.Apply(p => p.Min).IsEqual(new double[] { 1, 12, 5 }));
            Assert.IsTrue(ranges.Apply(p => p.Max).IsEqual(new double[] { 2, 65, 5 }));
            Assert.IsTrue(samples == 5);
            Assert.IsTrue(skewness.IsEqual(new double[] { 0.60858061945018527, -0.60008123614710385, double.NaN }));
            Assert.IsTrue(source.IsEqual(new double[,] 
            {
                { 1, 52, 5 },
                { 2, 12, 5 },
                { 1, 65, 5 },
                { 1, 25, 5 },
                { 2, 62, 5 },
            }));

            Assert.IsTrue(standardDeviation.IsEqual(new double[] { 0.54772255750516607, 23.509572518444482, 0.0 }));
            Assert.IsTrue(standardErrors.IsEqual(new double[] { 0.24494897427831777, 10.513800454640558, 0.0 }));
            Assert.IsTrue(standardScores.IsEqual(new double[,] 
            { 
                { -0.73029674334022132,  0.37431561093235277,  0.0 },
                {  1.0954451150103324,  -1.3271189842147058,   0.0 },
                { -0.73029674334022132,  0.92728185435514676,  0.0 },
                { -0.73029674334022132, -0.77415274079191176,  0.0 },
                {  1.0954451150103324,   0.79967425971911732,  0.0 },
            }));

            Assert.IsTrue(sums.IsEqual(new double[] { 7, 216.0, 25 }));
            Assert.IsTrue(variables == 3);
            Assert.IsTrue(variances.IsEqual(new double[] { 0.3, 552.7, 0.0 }));

            Assert.AreEqual(3, quartiles.Length);
            Assert.AreEqual(1, quartiles[0].Min);
            Assert.AreEqual(2, quartiles[0].Max);
            Assert.AreEqual(18.5, quartiles[1].Min);
            Assert.AreEqual(63.5, quartiles[1].Max);

            Assert.AreEqual(18.5 - 1.5 * (63.5 - 18.5), inner[1].Min);
            Assert.AreEqual(63.5 + 1.5 * (63.5 - 18.5), inner[1].Max);

            Assert.AreEqual(18.5 - 3 * (63.5 - 18.5), outer[1].Min);
            Assert.AreEqual(63.5 + 3 * (63.5 - 18.5), outer[1].Max);

            Assert.AreEqual(5, quartiles[2].Min);
            Assert.AreEqual(5, quartiles[2].Max);
        }