Accord.Tests.Statistics.CircularDescriptiveAnalysisTest.testOne C# (CSharp) Method

testOne() private static method

private static testOne ( CircularDescriptiveAnalysis analysis, double original, int originalLength ) : void
analysis CircularDescriptiveAnalysis
original double
originalLength int
return void
        private static void testOne(CircularDescriptiveAnalysis analysis, 
            double[] original, int originalLength)
        {
            double[] expectedMean;
            double[] expectedStdDev;
            double[] expectedVar;
            double[] expectedMed;
            double[] expectedError;

            expectedValues(original, originalLength,
                out expectedMean, out expectedStdDev,
                out expectedVar, out expectedMed,
                out expectedError);

            expectedMean = expectedMean.First(1);
            expectedStdDev = expectedStdDev.First(1);
            expectedVar = expectedVar.First(1);
            expectedMed = expectedMed.First(1);
            expectedError = expectedError.First(1);

            var angles = analysis.Angles;
            var cos = analysis.CosineSum;
            var sin = analysis.SineSum;
            var columnNames = analysis.ColumnNames;
            var distinct = analysis.Distinct;
            var means = analysis.Means;
            var medians = analysis.Medians;
            var ranges = analysis.Ranges;
            var samples = analysis.Samples;
            var standardDeviation = analysis.StandardDeviations;
            var sums = analysis.Sums;
            var variables = analysis.Variables;
            var variances = analysis.Variances;
            var quartiles = analysis.Quartiles;
            var inner = analysis.InnerFences;
            var outer = analysis.OuterFences;
            var error = analysis.StandardErrors;

            Assert.IsTrue(columnNames.IsEqual(new string[] 
            {
                "Hours",
            }));


            Assert.IsTrue(distinct.IsEqual(new int[] { 8 }));
            Assert.IsTrue(means.IsEqual(expectedMean));
            Assert.IsTrue(medians.IsEqual(expectedMed));
            Assert.IsTrue(error.IsEqual(expectedError, 1e-14));


            Assert.AreEqual(1, ranges.Length);
            Assert.AreEqual(0, ranges[0].Min);
            Assert.AreEqual(24, ranges[0].Max);

            Assert.IsTrue(samples == 8);

            // string str = angles.ToString(CSharpJaggedMatrixFormatProvider.InvariantCulture);

            var expectedAngles = new double[][] 
            {
                new double[] { -1.30899693899575, -2.35619449019234, 2.87979326579064, 2.35619449019234, -1.83259571459405, 0.785398163397448, -1.5707963267949, -1.0471975511966 },
            };

            Assert.IsTrue(angles.IsEqual(expectedAngles, 1e-10));

            Assert.IsTrue(standardDeviation.IsEqual(expectedStdDev, 1e-14));
            Assert.IsTrue(sums.IsEqual(new double[] { -2.0943951023931948 }));
            Assert.IsTrue(sin.IsEqual(new double[] { -2.831951230073507 }, 1e-14));
            Assert.IsTrue(cos.IsEqual(new double[] { -1.1730326074756157 }, 1e-14));
            Assert.IsTrue(variables == 1);
            Assert.IsTrue(variances.IsEqual(expectedVar, 1e-14));

            Assert.AreEqual(1, quartiles.Length);
            Assert.AreEqual(23, quartiles[0].Min);
            Assert.AreEqual(7.5, quartiles[0].Max);

            Assert.AreEqual(22.25, inner[0].Min);
            Assert.AreEqual(8.25, inner[0].Max);

            Assert.AreEqual(21.5, outer[0].Min);
            Assert.AreEqual(9, outer[0].Max);
        }