Browse Source

Statistics: serialization unit tests

pull/362/head
Christoph Ruegg 11 years ago
parent
commit
adcec36d97
  1. 81
      src/UnitTests/StatisticsTests/StatisticsSerializationTests.cs
  2. 2
      src/UnitTests/UnitTests-Net35.csproj
  3. 2
      src/UnitTests/UnitTests-Portable259.csproj
  4. 2
      src/UnitTests/UnitTests-Portable328.csproj
  5. 2
      src/UnitTests/UnitTests-Portable47.csproj
  6. 2
      src/UnitTests/UnitTests-Portable7.csproj
  7. 2
      src/UnitTests/UnitTests-Portable78.csproj
  8. 3
      src/UnitTests/UnitTests.csproj

81
src/UnitTests/StatisticsTests/StatisticsSerializationTests.cs

@ -0,0 +1,81 @@
using System.IO;
using System.Runtime.Serialization;
using MathNet.Numerics.Statistics;
using NUnit.Framework;
namespace MathNet.Numerics.UnitTests.StatisticsTests
{
[TestFixture]
public class StatisticsSerializationTests
{
[Test]
public void RunningStatisticsDataContractSerializationTest()
{
var expected = new RunningStatistics(new[] { 1.0, 2.0, 3.0 });
var serializer = new DataContractSerializer(typeof(RunningStatistics));
var stream = new MemoryStream();
serializer.WriteObject(stream, expected);
stream.Position = 0;
var actual = (RunningStatistics)serializer.ReadObject(stream);
Assert.That(actual.Count, Is.EqualTo(expected.Count));
Assert.That(actual.Maximum, Is.EqualTo(expected.Maximum));
Assert.That(actual.Mean, Is.EqualTo(expected.Mean));
}
[Test]
public void RunningStatisticsWithInfinityNaNDataContractSerializationTest()
{
var expected = new RunningStatistics(new[] { 1.0, 2.0, 3.0, double.PositiveInfinity, double.NaN });
var serializer = new DataContractSerializer(typeof(RunningStatistics));
var stream = new MemoryStream();
serializer.WriteObject(stream, expected);
stream.Position = 0;
var actual = (RunningStatistics)serializer.ReadObject(stream);
Assert.That(actual.Count, Is.EqualTo(expected.Count));
Assert.That(actual.Maximum, Is.EqualTo(expected.Maximum));
Assert.That(actual.Mean, Is.EqualTo(expected.Mean));
}
[Test]
public void DescriptiveStatisticsDataContractSerializationTest()
{
var expected = new DescriptiveStatistics(new[] { 1.0, 2.0, 3.0 });
var serializer = new DataContractSerializer(typeof(DescriptiveStatistics));
var stream = new MemoryStream();
serializer.WriteObject(stream, expected);
stream.Position = 0;
var actual = (DescriptiveStatistics)serializer.ReadObject(stream);
Assert.That(actual.Count, Is.EqualTo(expected.Count));
Assert.That(actual.Maximum, Is.EqualTo(expected.Maximum));
Assert.That(actual.Mean, Is.EqualTo(expected.Mean));
}
[Test]
public void HistogramDataContractSerializationTest()
{
var expected = new Histogram(new[] { 1.0, 2.0, 3.0, 4.0 }, 2);
var serializer = new DataContractSerializer(typeof(Histogram));
var stream = new MemoryStream();
serializer.WriteObject(stream, expected);
stream.Position = 0;
var actual = (Histogram)serializer.ReadObject(stream);
Assert.That(actual.BucketCount, Is.EqualTo(expected.BucketCount));
Assert.That(actual.DataCount, Is.EqualTo(expected.DataCount));
Assert.That(actual.LowerBound, Is.EqualTo(expected.LowerBound));
Assert.That(actual[0].Width, Is.EqualTo(expected[0].Width));
Assert.That(actual[0].UpperBound, Is.EqualTo(expected[0].UpperBound));
}
}
}

2
src/UnitTests/UnitTests-Net35.csproj

@ -59,6 +59,8 @@
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
<Compile Include="**\*.cs" Exclude="Properties\Settings.Designer.cs">

2
src/UnitTests/UnitTests-Portable259.csproj

@ -44,6 +44,8 @@
<Reference Include="System.Core" />
<Reference Include="System.Numerics" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
<Compile Include="**\*.cs" Exclude="Properties\Settings.Designer.cs">

2
src/UnitTests/UnitTests-Portable328.csproj

@ -44,6 +44,8 @@
<Reference Include="System.Core" />
<Reference Include="System.Numerics" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
<Compile Include="**\*.cs" Exclude="Properties\Settings.Designer.cs">

2
src/UnitTests/UnitTests-Portable47.csproj

@ -52,6 +52,8 @@
<Project>{49205185-621E-FFB9-2104-887C9F1BBD13}</Project>
<Name>Numerics-Portable47</Name>
</ProjectReference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
<Compile Include="**\*.cs" Exclude="Properties\Settings.Designer.cs">

2
src/UnitTests/UnitTests-Portable7.csproj

@ -52,6 +52,8 @@
<Project>{25E6E93B-56A2-4F14-8458-03665F122B3F}</Project>
<Name>Numerics-Portable7</Name>
</ProjectReference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
<Compile Include="**\*.cs" Exclude="Properties\Settings.Designer.cs">

2
src/UnitTests/UnitTests-Portable78.csproj

@ -52,6 +52,8 @@
<Project>{2EBD6F22-9BD6-4AF2-A21B-7198C9C5571F}</Project>
<Name>Numerics-Portable78</Name>
</ProjectReference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
<Compile Include="**\*.cs" Exclude="Properties\Settings.Designer.cs">

3
src/UnitTests/UnitTests.csproj

@ -75,6 +75,8 @@
<Project>{B7CAE5F4-A23F-4438-B5BE-41226618B695}</Project>
<Name>Numerics</Name>
</ProjectReference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.XML" />
</ItemGroup>
<ItemGroup>
<Compile Include="ArrayHelpers.cs" />
@ -398,6 +400,7 @@
<Compile Include="StatisticsTests\MCMCTests\UnivariateHybridMCTest.cs" />
<Compile Include="StatisticsTests\MCMCTests\UnivariateSliceSamplerTests.cs" />
<Compile Include="StatisticsTests\PercentileTests.cs" />
<Compile Include="StatisticsTests\StatisticsSerializationTests.cs" />
<Compile Include="StatisticsTests\StatisticsTests.cs" />
<Compile Include="StatisticsTests\StatTestData.cs" />
<Compile Include="TrigonometryTest.cs" />

Loading…
Cancel
Save