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);
}