diff --git a/MathNet.Numerics.All.sln b/MathNet.Numerics.All.sln index 499da87a..ec7daa56 100644 --- a/MathNet.Numerics.All.sln +++ b/MathNet.Numerics.All.sln @@ -73,6 +73,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests-Portable7", "src\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests-Portable78", "src\UnitTests\UnitTests-Portable78.csproj", "{2769BADC-02D9-48D9-88B4-C7E1C064BDF2}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestData", "src\TestData\TestData.csproj", "{AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -197,6 +199,12 @@ Global {2769BADC-02D9-48D9-88B4-C7E1C064BDF2}.Release|Any CPU.Build.0 = Release|Any CPU {2769BADC-02D9-48D9-88B4-C7E1C064BDF2}.Release-Signed|Any CPU.ActiveCfg = Release|Any CPU {2769BADC-02D9-48D9-88B4-C7E1C064BDF2}.Release-Signed|Any CPU.Build.0 = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.Build.0 = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.ActiveCfg = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MathNet.Numerics.Data.sln b/MathNet.Numerics.Data.sln index 1851d48a..c9d87afc 100644 --- a/MathNet.Numerics.Data.sln +++ b/MathNet.Numerics.Data.sln @@ -28,6 +28,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{D954831A paket.lock = paket.lock EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestData", "src\TestData\TestData.csproj", "{AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -53,6 +55,12 @@ Global {9D3A08E1-6B96-4552-A535-412E589B3264}.Release|Any CPU.Build.0 = Release|Any CPU {9D3A08E1-6B96-4552-A535-412E589B3264}.Release-Signed|Any CPU.ActiveCfg = Release|Any CPU {9D3A08E1-6B96-4552-A535-412E589B3264}.Release-Signed|Any CPU.Build.0 = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.Build.0 = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.ActiveCfg = Release-Signed|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.Build.0 = Release-Signed|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MathNet.Numerics.Net35Only.sln b/MathNet.Numerics.Net35Only.sln index 8b069507..8d6d54b1 100644 --- a/MathNet.Numerics.Net35Only.sln +++ b/MathNet.Numerics.Net35Only.sln @@ -18,6 +18,8 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp-Net35", "src\FSharp\ EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharpUnitTests-Net35", "src\FSharpUnitTests\FSharpUnitTests-Net35.fsproj", "{8C96F2E9-681B-4201-8BDD-0AA901203725}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestData", "src\TestData\TestData.csproj", "{AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -49,6 +51,12 @@ Global {8C96F2E9-681B-4201-8BDD-0AA901203725}.Release|Any CPU.Build.0 = Release|Any CPU {8C96F2E9-681B-4201-8BDD-0AA901203725}.Release-Signed|Any CPU.ActiveCfg = Release-Signed|Any CPU {8C96F2E9-681B-4201-8BDD-0AA901203725}.Release-Signed|Any CPU.Build.0 = Release-Signed|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.Build.0 = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.ActiveCfg = Release-Signed|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.Build.0 = Release-Signed|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MathNet.Numerics.Portable.sln b/MathNet.Numerics.Portable.sln index d3c9a049..d3779c7b 100644 --- a/MathNet.Numerics.Portable.sln +++ b/MathNet.Numerics.Portable.sln @@ -63,6 +63,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Numerics-Portable78", "src\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTests-Portable78", "src\UnitTests\UnitTests-Portable78.csproj", "{2769BADC-02D9-48D9-88B4-C7E1C064BDF2}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestData", "src\TestData\TestData.csproj", "{AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -157,6 +159,12 @@ Global {2769BADC-02D9-48D9-88B4-C7E1C064BDF2}.Release|Any CPU.Build.0 = Release|Any CPU {2769BADC-02D9-48D9-88B4-C7E1C064BDF2}.Release-Signed|Any CPU.ActiveCfg = Release|Any CPU {2769BADC-02D9-48D9-88B4-C7E1C064BDF2}.Release-Signed|Any CPU.Build.0 = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.Build.0 = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.ActiveCfg = Release-Signed|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.Build.0 = Release-Signed|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MathNet.Numerics.sln b/MathNet.Numerics.sln index f366df26..dbcda6cd 100644 --- a/MathNet.Numerics.sln +++ b/MathNet.Numerics.sln @@ -64,6 +64,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{039229DA-A docs\content\Users.md = docs\content\Users.md EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestData", "src\TestData\TestData.csproj", "{AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -95,6 +97,12 @@ Global {DAF07AA8-C5C9-4963-98F7-2C3285064DAD}.Release|Any CPU.Build.0 = Release|Any CPU {DAF07AA8-C5C9-4963-98F7-2C3285064DAD}.Release-Signed|Any CPU.ActiveCfg = Release-Signed|Any CPU {DAF07AA8-C5C9-4963-98F7-2C3285064DAD}.Release-Signed|Any CPU.Build.0 = Release-Signed|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release|Any CPU.Build.0 = Release|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.ActiveCfg = Release-Signed|Any CPU + {AF3253C9-4DB5-45A0-98CF-C105FDA9DA47}.Release-Signed|Any CPU.Build.0 = Release-Signed|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/DataUnitTests/Matlab/MatlabReaderTests.cs b/src/DataUnitTests/Matlab/MatlabReaderTests.cs index bda5dcad..8bddf2ed 100644 --- a/src/DataUnitTests/Matlab/MatlabReaderTests.cs +++ b/src/DataUnitTests/Matlab/MatlabReaderTests.cs @@ -24,6 +24,7 @@ // OTHER DEALINGS IN THE SOFTWARE. // +using System.IO; using System.Numerics; using MathNet.Numerics.Data.Matlab; using NUnit.Framework; @@ -42,11 +43,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadAllMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat"); - Assert.AreEqual(30, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Double.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream); + Assert.AreEqual(30, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Double.DenseMatrix), matrix.Value.GetType()); + } } } @@ -56,11 +60,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadFirstMatrix() { - var matrix = MatlabReader.Read("./data/Matlab/A.mat"); - Assert.AreEqual(100, matrix.RowCount); - Assert.AreEqual(100, matrix.ColumnCount); - Assert.AreEqual(typeof (LinearAlgebra.Double.DenseMatrix), matrix.GetType()); - AssertHelpers.AlmostEqual(100.108979553704, matrix.FrobeniusNorm(), 5); + using (var stream = TestData.Data.ReadStream("Matlab.A.mat")) + { + var matrix = MatlabReader.Read(stream); + Assert.AreEqual(100, matrix.RowCount); + Assert.AreEqual(100, matrix.ColumnCount); + Assert.AreEqual(typeof (LinearAlgebra.Double.DenseMatrix), matrix.GetType()); + AssertHelpers.AlmostEqual(100.108979553704, matrix.FrobeniusNorm(), 5); + } } /// @@ -69,11 +76,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNamedMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat", "Ad", "Au64"); - Assert.AreEqual(2, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Double.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream, "Ad", "Au64"); + Assert.AreEqual(2, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Double.DenseMatrix), matrix.Value.GetType()); + } } } @@ -83,13 +93,16 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNamedMatrix() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat", "Ad"); - Assert.AreEqual(1, matrices.Count); - var ad = matrices["Ad"]; - Assert.AreEqual(100, ad.RowCount); - Assert.AreEqual(100, ad.ColumnCount); - AssertHelpers.AlmostEqual(100.431635988639, ad.FrobeniusNorm(), 5); - Assert.AreEqual(typeof (LinearAlgebra.Double.DenseMatrix), ad.GetType()); + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) + { + var matrices = MatlabReader.ReadAll(stream, "Ad"); + Assert.AreEqual(1, matrices.Count); + var ad = matrices["Ad"]; + Assert.AreEqual(100, ad.RowCount); + Assert.AreEqual(100, ad.ColumnCount); + AssertHelpers.AlmostEqual(100.431635988639, ad.FrobeniusNorm(), 5); + Assert.AreEqual(typeof (LinearAlgebra.Double.DenseMatrix), ad.GetType()); + } } /// @@ -98,11 +111,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNamedSparseMatrix() { - var matrix = MatlabReader.Read("./data/Matlab/sparse-small.mat", "S"); - Assert.AreEqual(100, matrix.RowCount); - Assert.AreEqual(100, matrix.ColumnCount); - Assert.AreEqual(typeof (LinearAlgebra.Double.SparseMatrix), matrix.GetType()); - AssertHelpers.AlmostEqual(17.6385090630805, matrix.FrobeniusNorm(), 12); + using (var stream = TestData.Data.ReadStream("Matlab.sparse-small.mat")) + { + var matrix = MatlabReader.Read(stream, "S"); + Assert.AreEqual(100, matrix.RowCount); + Assert.AreEqual(100, matrix.ColumnCount); + Assert.AreEqual(typeof (LinearAlgebra.Double.SparseMatrix), matrix.GetType()); + AssertHelpers.AlmostEqual(17.6385090630805, matrix.FrobeniusNorm(), 12); + } } /// @@ -111,18 +127,21 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadComplexAllMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/complex.mat"); - Assert.AreEqual(3, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.complex.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream); + Assert.AreEqual(3, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), matrix.Value.GetType()); + } + + var a = matrices["a"]; + + Assert.AreEqual(100, a.RowCount); + Assert.AreEqual(100, a.ColumnCount); + AssertHelpers.AlmostEqual(27.232498979698409, a.L2Norm(), 13); } - - var a = matrices["a"]; - - Assert.AreEqual(100, a.RowCount); - Assert.AreEqual(100, a.ColumnCount); - AssertHelpers.AlmostEqual(27.232498979698409, a.L2Norm(), 13); } /// @@ -131,18 +150,21 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadSparseComplexAllMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/sparse_complex.mat"); - Assert.AreEqual(3, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.sparse_complex.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Complex.SparseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream); + Assert.AreEqual(3, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Complex.SparseMatrix), matrix.Value.GetType()); + } + + var a = matrices["sa"]; + + Assert.AreEqual(100, a.RowCount); + Assert.AreEqual(100, a.ColumnCount); + AssertHelpers.AlmostEqual(13.223654390985379, a.L2Norm(), 13); } - - var a = matrices["sa"]; - - Assert.AreEqual(100, a.RowCount); - Assert.AreEqual(100, a.ColumnCount); - AssertHelpers.AlmostEqual(13.223654390985379, a.L2Norm(), 13); } /// @@ -151,11 +173,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplexAllMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat"); - Assert.AreEqual(30, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream); + Assert.AreEqual(30, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), matrix.Value.GetType()); + } } } @@ -165,11 +190,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplexFirstMatrix() { - var matrix = MatlabReader.Read("./data/Matlab/A.mat"); - Assert.AreEqual(100, matrix.RowCount); - Assert.AreEqual(100, matrix.ColumnCount); - Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), matrix.GetType()); - AssertHelpers.AlmostEqual(100.108979553704, matrix.FrobeniusNorm(), 13); + using (var stream = TestData.Data.ReadStream("Matlab.A.mat")) + { + var matrix = MatlabReader.Read(stream); + Assert.AreEqual(100, matrix.RowCount); + Assert.AreEqual(100, matrix.ColumnCount); + Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), matrix.GetType()); + AssertHelpers.AlmostEqual(100.108979553704, matrix.FrobeniusNorm(), 13); + } } /// @@ -178,11 +206,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplexNamedMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat", "Ad", "Au64"); - Assert.AreEqual(2, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream, "Ad", "Au64"); + Assert.AreEqual(2, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), matrix.Value.GetType()); + } } } @@ -192,13 +223,16 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplexNamedMatrix() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat", "Ad"); - Assert.AreEqual(1, matrices.Count); - var ad = matrices["Ad"]; - Assert.AreEqual(100, ad.RowCount); - Assert.AreEqual(100, ad.ColumnCount); - AssertHelpers.AlmostEqual(100.431635988639, ad.FrobeniusNorm(), 13); - Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), ad.GetType()); + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) + { + var matrices = MatlabReader.ReadAll(stream, "Ad"); + Assert.AreEqual(1, matrices.Count); + var ad = matrices["Ad"]; + Assert.AreEqual(100, ad.RowCount); + Assert.AreEqual(100, ad.ColumnCount); + AssertHelpers.AlmostEqual(100.431635988639, ad.FrobeniusNorm(), 13); + Assert.AreEqual(typeof (LinearAlgebra.Complex.DenseMatrix), ad.GetType()); + } } /// @@ -207,11 +241,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplexNamedSparseMatrix() { - var matrix = MatlabReader.Read("./data/Matlab/sparse-small.mat", "S"); - Assert.AreEqual(100, matrix.RowCount); - Assert.AreEqual(100, matrix.ColumnCount); - Assert.AreEqual(typeof (LinearAlgebra.Complex.SparseMatrix), matrix.GetType()); - AssertHelpers.AlmostEqual(17.6385090630805, matrix.FrobeniusNorm(), 12); + using (var stream = TestData.Data.ReadStream("Matlab.sparse-small.mat")) + { + var matrix = MatlabReader.Read(stream, "S"); + Assert.AreEqual(100, matrix.RowCount); + Assert.AreEqual(100, matrix.ColumnCount); + Assert.AreEqual(typeof (LinearAlgebra.Complex.SparseMatrix), matrix.GetType()); + AssertHelpers.AlmostEqual(17.6385090630805, matrix.FrobeniusNorm(), 12); + } } /// @@ -220,18 +257,21 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadComplex32AllMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/complex.mat"); - Assert.AreEqual(3, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.complex.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream); + Assert.AreEqual(3, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), matrix.Value.GetType()); + } + + var a = matrices["a"]; + + Assert.AreEqual(100, a.RowCount); + Assert.AreEqual(100, a.ColumnCount); + AssertHelpers.AlmostEqual(27.232498979698409, a.L2Norm(), 5); } - - var a = matrices["a"]; - - Assert.AreEqual(100, a.RowCount); - Assert.AreEqual(100, a.ColumnCount); - AssertHelpers.AlmostEqual(27.232498979698409, a.L2Norm(), 5); } /// @@ -240,18 +280,21 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadSparseComplex32AllMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/sparse_complex.mat"); - Assert.AreEqual(3, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.sparse_complex.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Complex32.SparseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream); + Assert.AreEqual(3, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Complex32.SparseMatrix), matrix.Value.GetType()); + } + + var a = matrices["sa"]; + + Assert.AreEqual(100, a.RowCount); + Assert.AreEqual(100, a.ColumnCount); + AssertHelpers.AlmostEqual(13.223654390985379, a.L2Norm(), 5); } - - var a = matrices["sa"]; - - Assert.AreEqual(100, a.RowCount); - Assert.AreEqual(100, a.ColumnCount); - AssertHelpers.AlmostEqual(13.223654390985379, a.L2Norm(), 5); } /// @@ -260,11 +303,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplex32AllMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat"); - Assert.AreEqual(30, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream); + Assert.AreEqual(30, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), matrix.Value.GetType()); + } } } @@ -274,11 +320,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplex32FirstMatrix() { - var matrix = MatlabReader.Read("./data/Matlab/A.mat"); - Assert.AreEqual(100, matrix.RowCount); - Assert.AreEqual(100, matrix.ColumnCount); - Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), matrix.GetType()); - AssertHelpers.AlmostEqual(100.108979553704, matrix.FrobeniusNorm(), 6); + using (var stream = TestData.Data.ReadStream("Matlab.A.mat")) + { + var matrix = MatlabReader.Read(stream); + Assert.AreEqual(100, matrix.RowCount); + Assert.AreEqual(100, matrix.ColumnCount); + Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), matrix.GetType()); + AssertHelpers.AlmostEqual(100.108979553704, matrix.FrobeniusNorm(), 6); + } } /// @@ -287,11 +336,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplex32NamedMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat", "Ad", "Au64"); - Assert.AreEqual(2, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream, "Ad", "Au64"); + Assert.AreEqual(2, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), matrix.Value.GetType()); + } } } @@ -301,13 +353,16 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplex32NamedMatrix() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat", "Ad"); - Assert.AreEqual(1, matrices.Count); - var ad = matrices["Ad"]; - Assert.AreEqual(100, ad.RowCount); - Assert.AreEqual(100, ad.ColumnCount); - AssertHelpers.AlmostEqual(100.431635988639, ad.FrobeniusNorm(), 6); - Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), ad.GetType()); + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) + { + var matrices = MatlabReader.ReadAll(stream, "Ad"); + Assert.AreEqual(1, matrices.Count); + var ad = matrices["Ad"]; + Assert.AreEqual(100, ad.RowCount); + Assert.AreEqual(100, ad.ColumnCount); + AssertHelpers.AlmostEqual(100.431635988639, ad.FrobeniusNorm(), 6); + Assert.AreEqual(typeof (LinearAlgebra.Complex32.DenseMatrix), ad.GetType()); + } } /// @@ -316,11 +371,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadNonComplex32NamedSparseMatrix() { - var matrix = MatlabReader.Read("./data/Matlab/sparse-small.mat", "S"); - Assert.AreEqual(100, matrix.RowCount); - Assert.AreEqual(100, matrix.ColumnCount); - Assert.AreEqual(typeof (LinearAlgebra.Complex32.SparseMatrix), matrix.GetType()); - AssertHelpers.AlmostEqual(17.6385090630805, matrix.FrobeniusNorm(), 6); + using (var stream = TestData.Data.ReadStream("Matlab.sparse-small.mat")) + { + var matrix = MatlabReader.Read(stream, "S"); + Assert.AreEqual(100, matrix.RowCount); + Assert.AreEqual(100, matrix.ColumnCount); + Assert.AreEqual(typeof (LinearAlgebra.Complex32.SparseMatrix), matrix.GetType()); + AssertHelpers.AlmostEqual(17.6385090630805, matrix.FrobeniusNorm(), 6); + } } /// @@ -329,11 +387,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadFloatAllMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat"); - Assert.AreEqual(30, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Single.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream); + Assert.AreEqual(30, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Single.DenseMatrix), matrix.Value.GetType()); + } } } @@ -343,11 +404,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadFloatFirstMatrix() { - var matrix = MatlabReader.Read("./data/Matlab/A.mat"); - Assert.AreEqual(100, matrix.RowCount); - Assert.AreEqual(100, matrix.ColumnCount); - Assert.AreEqual(typeof (LinearAlgebra.Single.DenseMatrix), matrix.GetType()); - AssertHelpers.AlmostEqual(100.108979553704f, matrix.FrobeniusNorm(), 6); + using (var stream = TestData.Data.ReadStream("Matlab.A.mat")) + { + var matrix = MatlabReader.Read(stream); + Assert.AreEqual(100, matrix.RowCount); + Assert.AreEqual(100, matrix.ColumnCount); + Assert.AreEqual(typeof (LinearAlgebra.Single.DenseMatrix), matrix.GetType()); + AssertHelpers.AlmostEqual(100.108979553704f, matrix.FrobeniusNorm(), 6); + } } /// @@ -356,11 +420,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadFloatNamedMatrices() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat", "Ad", "Au64"); - Assert.AreEqual(2, matrices.Count); - foreach (var matrix in matrices) + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) { - Assert.AreEqual(typeof (LinearAlgebra.Single.DenseMatrix), matrix.Value.GetType()); + var matrices = MatlabReader.ReadAll(stream, "Ad", "Au64"); + Assert.AreEqual(2, matrices.Count); + foreach (var matrix in matrices) + { + Assert.AreEqual(typeof (LinearAlgebra.Single.DenseMatrix), matrix.Value.GetType()); + } } } @@ -370,13 +437,16 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadFloatNamedMatrix() { - var matrices = MatlabReader.ReadAll("./data/Matlab/collection.mat", "Ad"); - Assert.AreEqual(1, matrices.Count); - var ad = matrices["Ad"]; - Assert.AreEqual(100, ad.RowCount); - Assert.AreEqual(100, ad.ColumnCount); - AssertHelpers.AlmostEqual(100.431635988639f, ad.FrobeniusNorm(), 6); - Assert.AreEqual(typeof (LinearAlgebra.Single.DenseMatrix), ad.GetType()); + using (var stream = TestData.Data.ReadStream("Matlab.collection.mat")) + { + var matrices = MatlabReader.ReadAll(stream, "Ad"); + Assert.AreEqual(1, matrices.Count); + var ad = matrices["Ad"]; + Assert.AreEqual(100, ad.RowCount); + Assert.AreEqual(100, ad.ColumnCount); + AssertHelpers.AlmostEqual(100.431635988639f, ad.FrobeniusNorm(), 6); + Assert.AreEqual(typeof (LinearAlgebra.Single.DenseMatrix), ad.GetType()); + } } /// @@ -385,11 +455,14 @@ namespace MathNet.Numerics.Data.UnitTests.Matlab [Test] public void CanReadFloatNamedSparseMatrix() { - var matrix = MatlabReader.Read("./data/Matlab/sparse-small.mat", "S"); - Assert.AreEqual(100, matrix.RowCount); - Assert.AreEqual(100, matrix.ColumnCount); - Assert.AreEqual(typeof (LinearAlgebra.Single.SparseMatrix), matrix.GetType()); - AssertHelpers.AlmostEqual(17.6385090630805f, matrix.FrobeniusNorm(), 6); + using (var stream = TestData.Data.ReadStream("Matlab.sparse-small.mat")) + { + var matrix = MatlabReader.Read(stream, "S"); + Assert.AreEqual(100, matrix.RowCount); + Assert.AreEqual(100, matrix.ColumnCount); + Assert.AreEqual(typeof (LinearAlgebra.Single.SparseMatrix), matrix.GetType()); + AssertHelpers.AlmostEqual(17.6385090630805f, matrix.FrobeniusNorm(), 6); + } } } } diff --git a/src/DataUnitTests/Text/MatrixMarketReaderTests.cs b/src/DataUnitTests/Text/MatrixMarketReaderTests.cs index d6e3aa6d..0d7d8629 100644 --- a/src/DataUnitTests/Text/MatrixMarketReaderTests.cs +++ b/src/DataUnitTests/Text/MatrixMarketReaderTests.cs @@ -42,63 +42,75 @@ namespace MathNet.Numerics.Data.UnitTests.Text [Test] public void CanReadFudao007AsDouble() { - var m = MatrixMarketReader.ReadMatrix("./data/MatrixMarket/fidap007.mtx"); - Assert.IsInstanceOf(m); - Assert.AreEqual(1633, m.RowCount); - Assert.AreEqual(1633, m.ColumnCount); - Assert.GreaterOrEqual(54487, ((LinearAlgebra.Double.SparseMatrix) m).NonZerosCount); - Assert.Less(46000, ((LinearAlgebra.Double.SparseMatrix) m).NonZerosCount); - Assert.AreEqual(-6.8596032449032e+06d, m[1604, 1631]); - Assert.AreEqual(-9.1914585107976e+06d, m[1616, 1628]); - Assert.AreEqual(7.9403870156486e+07d, m[905, 726]); + using (Stream stream = TestData.Data.ReadStream("MatrixMarket.fidap007.mtx")) + { + var m = MatrixMarketReader.ReadMatrix(stream); + Assert.IsInstanceOf(m); + Assert.AreEqual(1633, m.RowCount); + Assert.AreEqual(1633, m.ColumnCount); + Assert.GreaterOrEqual(54487, ((LinearAlgebra.Double.SparseMatrix)m).NonZerosCount); + Assert.Less(46000, ((LinearAlgebra.Double.SparseMatrix)m).NonZerosCount); + Assert.AreEqual(-6.8596032449032e+06d, m[1604, 1631]); + Assert.AreEqual(-9.1914585107976e+06d, m[1616, 1628]); + Assert.AreEqual(7.9403870156486e+07d, m[905, 726]); + } } [Test] public void CanReadFudao007AsSingle() { - var m = MatrixMarketReader.ReadMatrix("./data/MatrixMarket/fidap007.mtx"); - Assert.IsInstanceOf(m); - Assert.AreEqual(1633, m.RowCount); - Assert.AreEqual(1633, m.ColumnCount); - Assert.GreaterOrEqual(54487, ((LinearAlgebra.Single.SparseMatrix)m).NonZerosCount); - Assert.Less(46000, ((LinearAlgebra.Single.SparseMatrix)m).NonZerosCount); - Assert.AreEqual(-6.8596032449032e+06f, m[1604, 1631]); - Assert.AreEqual(-9.1914585107976e+06f, m[1616, 1628]); - Assert.AreEqual(7.9403870156486e+07f, m[905, 726]); + using (Stream stream = TestData.Data.ReadStream("MatrixMarket.fidap007.mtx")) + { + var m = MatrixMarketReader.ReadMatrix(stream); + Assert.IsInstanceOf(m); + Assert.AreEqual(1633, m.RowCount); + Assert.AreEqual(1633, m.ColumnCount); + Assert.GreaterOrEqual(54487, ((LinearAlgebra.Single.SparseMatrix)m).NonZerosCount); + Assert.Less(46000, ((LinearAlgebra.Single.SparseMatrix)m).NonZerosCount); + Assert.AreEqual(-6.8596032449032e+06f, m[1604, 1631]); + Assert.AreEqual(-9.1914585107976e+06f, m[1616, 1628]); + Assert.AreEqual(7.9403870156486e+07f, m[905, 726]); + } } [Test] public void CanReadFudao007AsComplex() { - var m = MatrixMarketReader.ReadMatrix("./data/MatrixMarket/fidap007.mtx"); - Assert.IsInstanceOf(m); - Assert.AreEqual(1633, m.RowCount); - Assert.AreEqual(1633, m.ColumnCount); - Assert.GreaterOrEqual(54487, ((LinearAlgebra.Complex.SparseMatrix)m).NonZerosCount); - Assert.Less(46000, ((LinearAlgebra.Complex.SparseMatrix)m).NonZerosCount); - Assert.AreEqual(-6.8596032449032e+06d, m[1604, 1631].Real); - Assert.AreEqual(0.0d, m[1604, 1631].Imaginary); - Assert.AreEqual(-9.1914585107976e+06d, m[1616, 1628].Real); - Assert.AreEqual(0.0d, m[1616, 1628].Imaginary); - Assert.AreEqual(7.9403870156486e+07d, m[905, 726].Real); - Assert.AreEqual(0.0d, m[905, 726].Imaginary); + using (TextReader reader = TestData.Data.ReadText("MatrixMarket.fidap007.mtx")) + { + var m = MatrixMarketReader.ReadMatrix(reader); + Assert.IsInstanceOf(m); + Assert.AreEqual(1633, m.RowCount); + Assert.AreEqual(1633, m.ColumnCount); + Assert.GreaterOrEqual(54487, ((LinearAlgebra.Complex.SparseMatrix)m).NonZerosCount); + Assert.Less(46000, ((LinearAlgebra.Complex.SparseMatrix)m).NonZerosCount); + Assert.AreEqual(-6.8596032449032e+06d, m[1604, 1631].Real); + Assert.AreEqual(0.0d, m[1604, 1631].Imaginary); + Assert.AreEqual(-9.1914585107976e+06d, m[1616, 1628].Real); + Assert.AreEqual(0.0d, m[1616, 1628].Imaginary); + Assert.AreEqual(7.9403870156486e+07d, m[905, 726].Real); + Assert.AreEqual(0.0d, m[905, 726].Imaginary); + } } [Test] public void CanReadFudao007AsComplex32() { - var m = MatrixMarketReader.ReadMatrix("./data/MatrixMarket/fidap007.mtx"); - Assert.IsInstanceOf(m); - Assert.AreEqual(1633, m.RowCount); - Assert.AreEqual(1633, m.ColumnCount); - Assert.GreaterOrEqual(54487, ((LinearAlgebra.Complex32.SparseMatrix) m).NonZerosCount); - Assert.Less(46000, ((LinearAlgebra.Complex32.SparseMatrix) m).NonZerosCount); - Assert.AreEqual(-6.8596032449032e+06f, m[1604, 1631].Real); - Assert.AreEqual(0.0f, m[1604, 1631].Imaginary); - Assert.AreEqual(-9.1914585107976e+06f, m[1616, 1628].Real); - Assert.AreEqual(0.0f, m[1616, 1628].Imaginary); - Assert.AreEqual(7.9403870156486e+07f, m[905, 726].Real); - Assert.AreEqual(0.0f, m[905, 726].Imaginary); + using (TextReader reader = TestData.Data.ReadText("MatrixMarket.fidap007.mtx")) + { + var m = MatrixMarketReader.ReadMatrix(reader); + Assert.IsInstanceOf(m); + Assert.AreEqual(1633, m.RowCount); + Assert.AreEqual(1633, m.ColumnCount); + Assert.GreaterOrEqual(54487, ((LinearAlgebra.Complex32.SparseMatrix)m).NonZerosCount); + Assert.Less(46000, ((LinearAlgebra.Complex32.SparseMatrix)m).NonZerosCount); + Assert.AreEqual(-6.8596032449032e+06f, m[1604, 1631].Real); + Assert.AreEqual(0.0f, m[1604, 1631].Imaginary); + Assert.AreEqual(-9.1914585107976e+06f, m[1616, 1628].Real); + Assert.AreEqual(0.0f, m[1616, 1628].Imaginary); + Assert.AreEqual(7.9403870156486e+07f, m[905, 726].Real); + Assert.AreEqual(0.0f, m[905, 726].Imaginary); + } } [Test] diff --git a/src/DataUnitTests/UnitTests.csproj b/src/DataUnitTests/UnitTests.csproj index f25bb23f..ab957b67 100644 --- a/src/DataUnitTests/UnitTests.csproj +++ b/src/DataUnitTests/UnitTests.csproj @@ -50,42 +50,6 @@ - - data\matlab\A.mat - Always - - - data\matlab\collection-nocompress.mat - Always - - - data\matlab\collection.mat - Always - - - data\matlab\complex.mat - Always - - - data\matlab\sparse-large.mat - Always - - - data\matlab\sparse-small.mat - Always - - - data\matlab\sparse_complex.mat - Always - - - data\matlab\v.mat - Always - - - data\MatrixMarket\fidap007.mtx - Always - Designer @@ -99,6 +63,10 @@ {9d3a08e1-6b96-4552-a535-412e589b3264} Text + + {af3253c9-4db5-45a0-98cf-c105fda9da47} + TestData + + true + pdbonly + true + TRACE;STRONGNAME + prompt + 4 + AllRules.ruleset + 1591 + false + + + + + + + + + + + + + + + + Data\Codeplex-5667.csv + + + Data\Github-Cureos-1.csv + + + Data\Matlab\A.mat + + + Data\Matlab\collection-nocompress.mat + + + Data\Matlab\collection.mat + + + Data\Matlab\complex.mat + + + Data\Matlab\sparse-large.mat + + + Data\Matlab\sparse-small.mat + + + Data\Matlab\sparse_complex.mat + + + Data\Matlab\v.mat + + + Data\NIST\AtmWtAgt.dat + + + Data\NIST\Bennett5.dat + + + Data\NIST\BoxBOD.dat + + + Data\NIST\Chwirut1.dat + + + Data\NIST\Chwirut2.dat + + + Data\NIST\DanWood.dat + + + Data\NIST\Eckerle4.dat + + + Data\NIST\ENSO.dat + + + Data\NIST\Filip.dat + + + Data\NIST\Gauss1.dat + + + Data\NIST\Gauss2.dat + + + Data\NIST\Gauss3.dat + + + Data\NIST\Hahn1.dat + + + Data\NIST\Kirby2.dat + + + Data\NIST\Lanczos1.dat + + + Data\NIST\Lanczos2.dat + + + Data\NIST\Lanczos3.dat + + + Data\NIST\Lew.dat + + + Data\NIST\Longley.dat + + + Data\NIST\Lottery.dat + + + Data\NIST\Mavro.dat + + + Data\NIST\Meixner.dat + + + Data\NIST\MGH09.dat + + + Data\NIST\MGH10.dat + + + Data\NIST\MGH17.dat + + + Data\NIST\Michelso.dat + + + Data\NIST\Misra1a.dat + + + Data\NIST\Misra1b.dat + + + Data\NIST\Misra1c.dat + + + Data\NIST\Misra1d.dat + + + Data\NIST\Nelson.dat + + + Data\NIST\NoInt1.dat + + + Data\NIST\NoInt2.dat + + + Data\NIST\Norris.dat + + + Data\NIST\NumAcc1.dat + + + Data\NIST\NumAcc2.dat + + + Data\NIST\NumAcc3.dat + + + Data\NIST\NumAcc4.dat + + + Data\NIST\Pontius.dat + + + Data\NIST\Rat42.dat + + + Data\NIST\Rat43.dat + + + Data\NIST\Roszman1.dat + + + Data\NIST\SiRstvt.dat + + + Data\NIST\SmLs01t.dat + + + Data\NIST\SmLs02t.dat + + + Data\NIST\SmLs03t.dat + + + Data\NIST\SmLs04t.dat + + + Data\NIST\SmLs05t.dat + + + Data\NIST\SmLs06t.dat + + + Data\NIST\SmLs07t.dat + + + Data\NIST\SmLs08t.dat + + + Data\NIST\SmLs09t.dat + + + Data\NIST\Thurber.dat + + + Data\NIST\Wampler1.dat + + + Data\NIST\Wampler2.dat + + + Data\NIST\Wampler3.dat + + + Data\NIST\Wampler4.dat + + + Data\NIST\Wampler5.dat + + + + + Data\MatrixMarket\fidap007.mtx + + + + + \ No newline at end of file diff --git a/src/UnitTests/InterpolationTests/NevillePolynomialTest.cs b/src/UnitTests/InterpolationTests/NevillePolynomialTest.cs index a568034a..489cd8c7 100644 --- a/src/UnitTests/InterpolationTests/NevillePolynomialTest.cs +++ b/src/UnitTests/InterpolationTests/NevillePolynomialTest.cs @@ -30,9 +30,9 @@ using System; using System.Globalization; -using System.IO; using System.Linq; using MathNet.Numerics.Interpolation; +using MathNet.Numerics.TestData; using NUnit.Framework; namespace MathNet.Numerics.UnitTests.InterpolationTests @@ -133,8 +133,8 @@ namespace MathNet.Numerics.UnitTests.InterpolationTests public void Interpolate_LogLogAttenuationData_InterpolationShouldNotYieldNaN( [Values(0.0025, 0.035, 0.45, 5.5, 18.5, 35.0)] double value) { - var data = File.ReadAllLines(@"./data/Github-Cureos-1.csv"). - Select(line => + var data = Data.ReadAllLines(@"Github-Cureos-1.csv") + .Select(line => { var vals = line.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); return new Tuple(vals[2], vals[3]); diff --git a/src/UnitTests/StatisticsTests/CorrelationTests.cs b/src/UnitTests/StatisticsTests/CorrelationTests.cs index 582632d2..b0ac84af 100644 --- a/src/UnitTests/StatisticsTests/CorrelationTests.cs +++ b/src/UnitTests/StatisticsTests/CorrelationTests.cs @@ -40,7 +40,7 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests /// /// Correlation tests /// - /// NOTE: this class is not included into Silverlight version, because it uses data from local files. + /// NOTE: this class is not included into Silverlight version, because it uses data from local files. /// In Silverlight access to local files is forbidden, except several cases. [TestFixture, Category("Statistics")] public class CorrelationTests @@ -55,9 +55,9 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests /// public CorrelationTests() { - var lottery = new StatTestData("./data/NIST/Lottery.dat"); + var lottery = new StatTestData("NIST.Lottery.dat"); _data.Add("lottery", lottery); - var lew = new StatTestData("./data/NIST/Lew.dat"); + var lew = new StatTestData("NIST.Lew.dat"); _data.Add("lew", lew); } diff --git a/src/UnitTests/StatisticsTests/DescriptiveStatisticsTests.cs b/src/UnitTests/StatisticsTests/DescriptiveStatisticsTests.cs index 96b5331e..06eb895a 100644 --- a/src/UnitTests/StatisticsTests/DescriptiveStatisticsTests.cs +++ b/src/UnitTests/StatisticsTests/DescriptiveStatisticsTests.cs @@ -54,15 +54,15 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests /// public DescriptiveStatisticsTests() { - _data.Add("lottery", new StatTestData("./data/NIST/Lottery.dat")); - _data.Add("lew", new StatTestData("./data/NIST/Lew.dat")); - _data.Add("mavro", new StatTestData("./data/NIST/Mavro.dat")); - _data.Add("michelso", new StatTestData("./data/NIST/Michelso.dat")); - _data.Add("numacc1", new StatTestData("./data/NIST/NumAcc1.dat")); - _data.Add("numacc2", new StatTestData("./data/NIST/NumAcc2.dat")); - _data.Add("numacc3", new StatTestData("./data/NIST/NumAcc3.dat")); - _data.Add("numacc4", new StatTestData("./data/NIST/NumAcc4.dat")); - _data.Add("meixner", new StatTestData("./data/NIST/Meixner.dat")); + _data.Add("lottery", new StatTestData("NIST.Lottery.dat")); + _data.Add("lew", new StatTestData("NIST.Lew.dat")); + _data.Add("mavro", new StatTestData("NIST.Mavro.dat")); + _data.Add("michelso", new StatTestData("NIST.Michelso.dat")); + _data.Add("numacc1", new StatTestData("NIST.NumAcc1.dat")); + _data.Add("numacc2", new StatTestData("NIST.NumAcc2.dat")); + _data.Add("numacc3", new StatTestData("NIST.NumAcc3.dat")); + _data.Add("numacc4", new StatTestData("NIST.NumAcc4.dat")); + _data.Add("meixner", new StatTestData("NIST.Meixner.dat")); } /// diff --git a/src/UnitTests/StatisticsTests/RunningStatisticsTests.cs b/src/UnitTests/StatisticsTests/RunningStatisticsTests.cs index 142eb4d1..68baa009 100644 --- a/src/UnitTests/StatisticsTests/RunningStatisticsTests.cs +++ b/src/UnitTests/StatisticsTests/RunningStatisticsTests.cs @@ -56,15 +56,15 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests /// public RunningStatisticsTests() { - _data.Add("lottery", new StatTestData("./data/NIST/Lottery.dat")); - _data.Add("lew", new StatTestData("./data/NIST/Lew.dat")); - _data.Add("mavro", new StatTestData("./data/NIST/Mavro.dat")); - _data.Add("michelso", new StatTestData("./data/NIST/Michelso.dat")); - _data.Add("numacc1", new StatTestData("./data/NIST/NumAcc1.dat")); - _data.Add("numacc2", new StatTestData("./data/NIST/NumAcc2.dat")); - _data.Add("numacc3", new StatTestData("./data/NIST/NumAcc3.dat")); - _data.Add("numacc4", new StatTestData("./data/NIST/NumAcc4.dat")); - _data.Add("meixner", new StatTestData("./data/NIST/Meixner.dat")); + _data.Add("lottery", new StatTestData("NIST.Lottery.dat")); + _data.Add("lew", new StatTestData("NIST.Lew.dat")); + _data.Add("mavro", new StatTestData("NIST.Mavro.dat")); + _data.Add("michelso", new StatTestData("NIST.Michelso.dat")); + _data.Add("numacc1", new StatTestData("NIST.NumAcc1.dat")); + _data.Add("numacc2", new StatTestData("NIST.NumAcc2.dat")); + _data.Add("numacc3", new StatTestData("NIST.NumAcc3.dat")); + _data.Add("numacc4", new StatTestData("NIST.NumAcc4.dat")); + _data.Add("meixner", new StatTestData("NIST.Meixner.dat")); } /// diff --git a/src/UnitTests/StatisticsTests/StatTestData.cs b/src/UnitTests/StatisticsTests/StatTestData.cs index eac3e898..a881a808 100644 --- a/src/UnitTests/StatisticsTests/StatTestData.cs +++ b/src/UnitTests/StatisticsTests/StatTestData.cs @@ -30,12 +30,12 @@ using System; using System.Globalization; +using System.Collections.Generic; +using System.IO; +using System.Linq; namespace MathNet.Numerics.UnitTests.StatisticsTests { - using System.Collections.Generic; - using System.IO; - using System.Linq; /// /// Statistics data. @@ -68,7 +68,7 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests /// Path to the file. public StatTestData(string file) { - using (var reader = new StreamReader(file)) + using (var reader = TestData.Data.ReadText(file)) { var line = reader.ReadLine().Trim(); diff --git a/src/UnitTests/StatisticsTests/StatisticsTests.cs b/src/UnitTests/StatisticsTests/StatisticsTests.cs index 5686952b..64e8023e 100644 --- a/src/UnitTests/StatisticsTests/StatisticsTests.cs +++ b/src/UnitTests/StatisticsTests/StatisticsTests.cs @@ -34,6 +34,7 @@ using System.IO; using System.Linq; using MathNet.Numerics.Distributions; using MathNet.Numerics.Random; +using MathNet.Numerics.TestData; using NUnit.Framework; // ReSharper disable InvokeAsExtensionMethod @@ -50,15 +51,15 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests { readonly IDictionary _data = new Dictionary { - { "lottery", new StatTestData("./data/NIST/Lottery.dat") }, - { "lew", new StatTestData("./data/NIST/Lew.dat") }, - { "mavro", new StatTestData("./data/NIST/Mavro.dat") }, - { "michelso", new StatTestData("./data/NIST/Michelso.dat") }, - { "numacc1", new StatTestData("./data/NIST/NumAcc1.dat") }, - { "numacc2", new StatTestData("./data/NIST/NumAcc2.dat") }, - { "numacc3", new StatTestData("./data/NIST/NumAcc3.dat") }, - { "numacc4", new StatTestData("./data/NIST/NumAcc4.dat") }, - { "meixner", new StatTestData("./data/NIST/Meixner.dat") } + { "lottery", new StatTestData("NIST.Lottery.dat") }, + { "lew", new StatTestData("NIST.Lew.dat") }, + { "mavro", new StatTestData("NIST.Mavro.dat") }, + { "michelso", new StatTestData("NIST.Michelso.dat") }, + { "numacc1", new StatTestData("NIST.NumAcc1.dat") }, + { "numacc2", new StatTestData("NIST.NumAcc2.dat") }, + { "numacc3", new StatTestData("NIST.NumAcc3.dat") }, + { "numacc4", new StatTestData("NIST.NumAcc4.dat") }, + { "meixner", new StatTestData("NIST.Meixner.dat") } }; [Test] @@ -987,7 +988,7 @@ namespace MathNet.Numerics.UnitTests.StatisticsTests [Test] public void Median_CodeplexIssue5667() { - var seq = File.ReadAllLines("./data/Codeplex-5667.csv").Select(double.Parse); + var seq = Data.ReadAllLines("Codeplex-5667.csv").Select(double.Parse); Assert.AreEqual(1.0, Statistics.Median(seq)); var array = seq.ToArray(); diff --git a/src/UnitTests/UnitTests-Net35.csproj b/src/UnitTests/UnitTests-Net35.csproj index a1a2bdae..5cf8614a 100644 --- a/src/UnitTests/UnitTests-Net35.csproj +++ b/src/UnitTests/UnitTests-Net35.csproj @@ -341,6 +341,10 @@ {E54E712D-EB6B-4FBF-B29A-6BB95E719BAC} Numerics-Net35 + + {af3253c9-4db5-45a0-98cf-c105fda9da47} + TestData + diff --git a/src/UnitTests/UnitTests-Portable259.csproj b/src/UnitTests/UnitTests-Portable259.csproj index 1a333088..e7f565bc 100644 --- a/src/UnitTests/UnitTests-Portable259.csproj +++ b/src/UnitTests/UnitTests-Portable259.csproj @@ -328,6 +328,10 @@ {1C8DBFB2-DB75-4C4B-888B-4AF314FCE3C3} Numerics-Portable259 + + {af3253c9-4db5-45a0-98cf-c105fda9da47} + TestData + diff --git a/src/UnitTests/UnitTests-Portable328.csproj b/src/UnitTests/UnitTests-Portable328.csproj index d3fe413d..c75e12ec 100644 --- a/src/UnitTests/UnitTests-Portable328.csproj +++ b/src/UnitTests/UnitTests-Portable328.csproj @@ -328,6 +328,10 @@ {1A3065FD-105D-4AF1-85B9-0A4A26FFB353} Numerics-Portable328 + + {af3253c9-4db5-45a0-98cf-c105fda9da47} + TestData + diff --git a/src/UnitTests/UnitTests-Portable47.csproj b/src/UnitTests/UnitTests-Portable47.csproj index ece9f34f..38c78bc7 100644 --- a/src/UnitTests/UnitTests-Portable47.csproj +++ b/src/UnitTests/UnitTests-Portable47.csproj @@ -38,6 +38,10 @@ 1591 + + {af3253c9-4db5-45a0-98cf-c105fda9da47} + TestData + diff --git a/src/UnitTests/UnitTests-Portable7.csproj b/src/UnitTests/UnitTests-Portable7.csproj index 6db67d4d..d7eb39a2 100644 --- a/src/UnitTests/UnitTests-Portable7.csproj +++ b/src/UnitTests/UnitTests-Portable7.csproj @@ -38,6 +38,10 @@ 1591 + + {af3253c9-4db5-45a0-98cf-c105fda9da47} + TestData + diff --git a/src/UnitTests/UnitTests-Portable78.csproj b/src/UnitTests/UnitTests-Portable78.csproj index 934cd936..78a5d67d 100644 --- a/src/UnitTests/UnitTests-Portable78.csproj +++ b/src/UnitTests/UnitTests-Portable78.csproj @@ -38,6 +38,10 @@ 1591 + + {af3253c9-4db5-45a0-98cf-c105fda9da47} + TestData + diff --git a/src/UnitTests/UnitTests.csproj b/src/UnitTests/UnitTests.csproj index 60d6ead5..4f552450 100644 --- a/src/UnitTests/UnitTests.csproj +++ b/src/UnitTests/UnitTests.csproj @@ -60,6 +60,10 @@ false + + {af3253c9-4db5-45a0-98cf-c105fda9da47} + TestData + @@ -396,279 +400,7 @@ - - data\Codeplex-5667.csv - PreserveNewest - - - data\Github-Cureos-1.csv - PreserveNewest - - - data\Matlab\A.mat - PreserveNewest - - - data\Matlab\collection-nocompress.mat - PreserveNewest - - - data\Matlab\collection.mat - PreserveNewest - - - data\Matlab\complex.mat - PreserveNewest - - - data\Matlab\sparse-large.mat - PreserveNewest - - - data\Matlab\sparse-small.mat - PreserveNewest - - - data\Matlab\sparse_complex.mat - PreserveNewest - - - data\Matlab\v.mat - PreserveNewest - - - data\NIST\AtmWtAgt.dat - PreserveNewest - - - data\NIST\Bennett5.dat - PreserveNewest - - - data\NIST\BoxBOD.dat - PreserveNewest - - - data\NIST\Chwirut1.dat - PreserveNewest - - - data\NIST\Chwirut2.dat - PreserveNewest - - - data\NIST\DanWood.dat - PreserveNewest - - - data\NIST\Eckerle4.dat - PreserveNewest - - - data\NIST\ENSO.dat - PreserveNewest - - - data\NIST\Filip.dat - PreserveNewest - - - data\NIST\Gauss1.dat - PreserveNewest - - - data\NIST\Gauss2.dat - PreserveNewest - - - data\NIST\Gauss3.dat - PreserveNewest - - - data\NIST\Hahn1.dat - PreserveNewest - - - data\NIST\Kirby2.dat - PreserveNewest - - - data\NIST\Lanczos1.dat - PreserveNewest - - - data\NIST\Lanczos2.dat - PreserveNewest - - - data\NIST\Lanczos3.dat - PreserveNewest - - - data\NIST\Lew.dat - PreserveNewest - - - data\NIST\Longley.dat - PreserveNewest - - - data\NIST\Lottery.dat - PreserveNewest - - - data\NIST\Mavro.dat - PreserveNewest - - - data\NIST\MGH09.dat - PreserveNewest - - - data\NIST\MGH10.dat - PreserveNewest - - - data\NIST\MGH17.dat - PreserveNewest - - - data\NIST\Michelso.dat - PreserveNewest - - - data\NIST\Misra1a.dat - PreserveNewest - - - data\NIST\Misra1b.dat - PreserveNewest - - - data\NIST\Misra1c.dat - PreserveNewest - - - data\NIST\Misra1d.dat - PreserveNewest - - - data\NIST\Nelson.dat - PreserveNewest - - - data\NIST\NoInt1.dat - PreserveNewest - - - data\NIST\NoInt2.dat - PreserveNewest - - - data\NIST\Norris.dat - PreserveNewest - - - data\NIST\NumAcc1.dat - PreserveNewest - - - data\NIST\NumAcc2.dat - PreserveNewest - - - data\NIST\NumAcc3.dat - PreserveNewest - - - data\NIST\NumAcc4.dat - PreserveNewest - - - data\NIST\Pontius.dat - PreserveNewest - - - data\NIST\Rat42.dat - PreserveNewest - - - data\NIST\Rat43.dat - PreserveNewest - - - data\NIST\Roszman1.dat - PreserveNewest - - - data\NIST\SiRstvt.dat - PreserveNewest - - - data\NIST\SmLs01t.dat - PreserveNewest - - - data\NIST\SmLs02t.dat - PreserveNewest - - - data\NIST\SmLs03t.dat - PreserveNewest - - - data\NIST\SmLs04t.dat - PreserveNewest - - - data\NIST\SmLs05t.dat - PreserveNewest - - - data\NIST\SmLs06t.dat - PreserveNewest - - - data\NIST\SmLs07t.dat - PreserveNewest - - - data\NIST\SmLs08t.dat - PreserveNewest - - - data\NIST\SmLs09t.dat - PreserveNewest - - - data\NIST\Thurber.dat - PreserveNewest - - - data\NIST\Wampler1.dat - PreserveNewest - - - data\NIST\Wampler2.dat - PreserveNewest - - - data\NIST\Wampler3.dat - PreserveNewest - - - data\NIST\Wampler4.dat - PreserveNewest - - - data\NIST\Wampler5.dat - PreserveNewest - - - data\NIST\Meixner.dat - PreserveNewest - @@ -683,4 +415,5 @@ True + \ No newline at end of file