diff --git a/src/UnitTests/StatisticsTests/StatisticsTests.cs b/src/UnitTests/StatisticsTests/StatisticsTests.cs
index 22e772bc..eafd6cf2 100644
--- a/src/UnitTests/StatisticsTests/StatisticsTests.cs
+++ b/src/UnitTests/StatisticsTests/StatisticsTests.cs
@@ -38,7 +38,7 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
using Statistics;
///
- /// Statistics Tests.
+ /// Statistics Tests
///
[TestFixture]
public class StatisticsTests
@@ -150,11 +150,6 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
AssertHelpers.AlmostEqual(data.Mean, Statistics.Mean(data.DataWithNulls), 15);
}
- ///
- /// Standard Deviation.
- ///
- /// Dataset name.
- /// Digits count.
[TestCase("lottery", 15)]
[TestCase("lew", 15)]
[TestCase("mavro", 12)]
@@ -163,17 +158,12 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
[TestCase("numacc2", 13)]
[TestCase("numacc3", 9)]
[TestCase("numacc4", 8)]
- public void StandardDeviation(string dataSet, int digits)
+ public void StandardDeviationConsistentWithNistData(string dataSet, int digits)
{
var data = _data[dataSet];
AssertHelpers.AlmostEqual(data.StandardDeviation, Statistics.StandardDeviation(data.Data), digits);
}
- ///
- /// Nullable Standard Deviation.
- ///
- /// Dataset name.
- /// Digits count.
[TestCase("lottery", 15)]
[TestCase("lew", 15)]
[TestCase("mavro", 12)]
@@ -182,46 +172,30 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
[TestCase("numacc2", 13)]
[TestCase("numacc3", 9)]
[TestCase("numacc4", 8)]
- public void NullableStandardDeviation(string dataSet, int digits)
+ public void NullableStandardDeviationConsistentWithNistData(string dataSet, int digits)
{
var data = _data[dataSet];
AssertHelpers.AlmostEqual(data.StandardDeviation, Statistics.StandardDeviation(data.DataWithNulls), digits);
}
- ///
- /// Standard Deviation with null throws ArgumentNullException.
- ///
[Test]
- public void StandardDeviationThrowsArgumentNullException()
- {
- double[] data = null;
- Assert.Throws(() => Statistics.StandardDeviation(data));
- }
-
- ///
- /// Validate Min/Max on a short sequence.
- ///
- [Test]
- public void ShortMinMax()
+ public void MinimumMaximumOnShortSequence()
{
var samples = new[] {-1.0, 5, 0, -3, 10, -0.5, 4};
Assert.That(Statistics.Minimum(samples), Is.EqualTo(-3), "Min");
Assert.That(Statistics.Maximum(samples), Is.EqualTo(10), "Max");
Assert.That(ArrayStatistics.Minimum(samples), Is.EqualTo(-3), "Min");
Assert.That(ArrayStatistics.Maximum(samples), Is.EqualTo(10), "Max");
+ Assert.That(StreamingStatistics.Minimum(samples), Is.EqualTo(-3), "Min");
+ Assert.That(StreamingStatistics.Maximum(samples), Is.EqualTo(10), "Max");
- var sorted = new double[samples.Length];
- Array.Copy(samples, sorted, samples.Length);
- Array.Sort(sorted);
- Assert.That(SortedArrayStatistics.Minimum(sorted), Is.EqualTo(-3), "Min");
- Assert.That(SortedArrayStatistics.Maximum(sorted), Is.EqualTo(10), "Max");
+ Array.Sort(samples);
+ Assert.That(SortedArrayStatistics.Minimum(samples), Is.EqualTo(-3), "Min");
+ Assert.That(SortedArrayStatistics.Maximum(samples), Is.EqualTo(10), "Max");
}
- ///
- /// Validate Order Statistics and Median on a short sequence.
- ///
[Test]
- public void ShortOrderMedian()
+ public void MedianOrderOnShortSequence()
{
// -3 -1 -0.5 0 1 4 5 6 10
var samples = new[] {-1, 5, 0, -3, 10, -0.5, 4, 1, 6};
@@ -231,10 +205,8 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
Assert.That(Statistics.OrderStatistic(samples, 7), Is.EqualTo(5), "Order-7");
Assert.That(Statistics.OrderStatistic(samples, 9), Is.EqualTo(10), "Order-9");
- var sorted = new double[samples.Length];
- Array.Copy(samples, sorted, samples.Length);
- Array.Sort(sorted);
- Assert.That(SortedArrayStatistics.Median(sorted), Is.EqualTo(1), "Median");
+ Array.Sort(samples);
+ Assert.That(SortedArrayStatistics.Median(samples), Is.EqualTo(1), "Median");
}
///
@@ -254,6 +226,8 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
AssertHelpers.AlmostEqual(1e+9, Statistics.Mean(gaussian.Samples().Take(10000)), 11);
AssertHelpers.AlmostEqual(4d, Statistics.Variance(gaussian.Samples().Take(10000)), 1);
AssertHelpers.AlmostEqual(2d, Statistics.StandardDeviation(gaussian.Samples().Take(10000)), 2);
+
+ AssertHelpers.AlmostEqual(1e+9, ArrayStatistics.Mean(gaussian.Samples().Take(10000).ToArray()), 11);
}
[Test]