Browse Source

Statistics: more MovingAverage tests

pull/312/head
Christoph Ruegg 11 years ago
parent
commit
4a1af82320
  1. 2
      src/Numerics/Providers/LinearAlgebra/OpenBlas/OpenBlasLinearAlgebraProvider.cs
  2. 42
      src/UnitTests/StatisticsTests/MovingStatisticsTests.cs

2
src/Numerics/Providers/LinearAlgebra/OpenBlas/OpenBlasLinearAlgebraProvider.cs

@ -34,7 +34,7 @@ using System;
namespace MathNet.Numerics.Providers.LinearAlgebra.OpenBlas
{
public enum ParallelType : int
internal enum ParallelType : int
{
Sequential = 0,
Thread = 1,

42
src/UnitTests/StatisticsTests/MovingStatisticsTests.cs

@ -29,6 +29,7 @@
// </copyright>
using System;
using System.Linq;
using MathNet.Numerics.Distributions;
using MathNet.Numerics.Random;
using MathNet.Numerics.Statistics;
@ -251,5 +252,46 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests
Assert.That(ms.Mean, Is.Not.NaN);
Assert.That(ms.StandardDeviation, Is.Not.NaN);
}
[Test]
public void MovingAverageEmptyData()
{
var average = new double[0].MovingAverage(10).ToArray();
Assert.AreEqual(0, average.Length);
}
[Test]
public void MovingAverage()
{
var average = new[] { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }.MovingAverage(2).ToArray();
Assert.AreEqual(average.Length, 10);
Assert.AreEqual(1.0, average[0]);
Assert.AreEqual(1.5, average[1]);
Assert.AreEqual(2.5, average[2]);
Assert.AreEqual(3.5, average[3]);
Assert.AreEqual(4.5, average[4]);
Assert.AreEqual(5.5, average[5]);
Assert.AreEqual(6.5, average[6]);
Assert.AreEqual(7.5, average[7]);
Assert.AreEqual(8.5, average[8]);
Assert.AreEqual(9.5, average[9]);
}
[Test]
public void MovingAverageMissingData()
{
var average = new[] { 1.0, double.NaN, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, double.NaN, 10.0 }.MovingAverage(2).ToArray();
Assert.AreEqual(average.Length, 10);
Assert.AreEqual(1.0, average[0]);
Assert.IsNaN(average[1]);
Assert.IsNaN(average[2]);
Assert.AreEqual(3.5, average[3]);
Assert.AreEqual(4.5, average[4]);
Assert.AreEqual(5.5, average[5]);
Assert.AreEqual(6.5, average[6]);
Assert.AreEqual(7.5, average[7]);
Assert.IsNaN(average[8]);
Assert.IsNaN(average[9]);
}
}
}

Loading…
Cancel
Save