Browse Source

Making unit tests more robust for running on other cultures and system settings

la-knuth
Christoph Ruegg 16 years ago
parent
commit
df56a3e33f
  1. 55
      src/UnitTests/LinearAlgebraTests/Complex/IO/DelimitedReaderTests.cs
  2. 29
      src/UnitTests/LinearAlgebraTests/Complex/IO/DelimitedWriterTests.cs
  3. 56
      src/UnitTests/LinearAlgebraTests/Complex32/IO/DelimitedReaderTests.cs
  4. 29
      src/UnitTests/LinearAlgebraTests/Complex32/IO/DelimitedWriterTests.cs
  5. 55
      src/UnitTests/LinearAlgebraTests/Double/IO/DelimitedReaderTests.cs
  6. 29
      src/UnitTests/LinearAlgebraTests/Double/IO/DelimitedWriterTests.cs
  7. 55
      src/UnitTests/LinearAlgebraTests/Single/IO/DelimitedReaderTests.cs
  8. 29
      src/UnitTests/LinearAlgebraTests/Single/IO/DelimitedWriterTests.cs

55
src/UnitTests/LinearAlgebraTests/Complex/IO/DelimitedReaderTests.cs

@ -15,16 +15,17 @@
[MultipleAsserts]
public void CanParseCommaDelimitedData()
{
const string data =
@"a,b,c
(1,2)
""2.2"",0.3e1
'(4,-5)',5,6
";
var data = "a,b,c" + Environment.NewLine
+ "(1,2)" + Environment.NewLine
+ "\"2.2\",0.3e1" + Environment.NewLine
+ "'(4,-5)',5,6" + Environment.NewLine;
var reader = new DelimitedReader<DenseMatrix>(',')
{
HasHeaderRow = true
HasHeaderRow = true,
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -45,13 +46,15 @@
[MultipleAsserts]
public void CanParseTabDelimtedData()
{
var data = "1"
+ Environment.NewLine
+ "\"2.2\"\t\t0.3e1"
+ Environment.NewLine
var data = "1" + Environment.NewLine
+ "\"2.2\"\t\t0.3e1" + Environment.NewLine
+ "'4'\t5\t6";
var reader = new DelimitedReader<SparseMatrix>('\t');
var reader = new DelimitedReader<SparseMatrix>('\t')
{
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -70,12 +73,15 @@
[MultipleAsserts]
public void CanParseWhiteSpaceDelimitedData()
{
const string data =
@"1
""(2.2,3.3)"" 0.3e1
'4' 5 6
";
var reader = new DelimitedReader<UserDefinedMatrix>();
var data = "1" + Environment.NewLine
+ "\"(2.2,3.3)\" 0.3e1" + Environment.NewLine
+ "'4' 5 6" + Environment.NewLine;
var reader = new DelimitedReader<UserDefinedMatrix>
{
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -95,15 +101,14 @@
[MultipleAsserts]
public void CanParsePeriodDelimitedData()
{
const string data =
@"a.b.c
1
""2,2"".0,3e1+0,2e1i
'4,0'.5,0.6,0
";
var data = "a.b.c" + Environment.NewLine
+ "1" + Environment.NewLine
+ "\"2,2\".0,3e1+0,2e1i" + Environment.NewLine
+ "'4,0'.5,0.6,0" + Environment.NewLine;
var reader = new DelimitedReader<DenseMatrix>('.')
{
HasHeaderRow = true,
HasHeaderRow = true,
CultureInfo = new CultureInfo("tr-TR")
};

29
src/UnitTests/LinearAlgebraTests/Complex/IO/DelimitedWriterTests.cs

@ -21,9 +21,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"(1.1, 1.1),(2.2, 2.2),(3.3, 3.3)
(4.4, 4.4),(5.5, 5.5),(6.6, 6.6)
(7.7, 7.7),(8.8, 8.8),(9.9, 9.9)";
var expected = "(1.1, 1.1),(2.2, 2.2),(3.3, 3.3)" + Environment.NewLine
+ "(4.4, 4.4),(5.5, 5.5),(6.6, 6.6)" + Environment.NewLine
+ "(7.7, 7.7),(8.8, 8.8),(9.9, 9.9)";
Assert.AreEqual(expected, text);
}
@ -41,9 +41,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"(1,1, 1,1).(2,2, 2,2).(3,3, 3,3)
(4,4, 4,4).(5,5, 5,5).(6,6, 6,6)
(7,7, 7,7).(8,8, 8,8).(9,9, 9,9)";
var expected = "(1,1, 1,1).(2,2, 2,2).(3,3, 3,3)" + Environment.NewLine
+ "(4,4, 4,4).(5,5, 5,5).(6,6, 6,6)" + Environment.NewLine
+ "(7,7, 7,7).(8,8, 8,8).(9,9, 9,9)";
Assert.AreEqual(expected, text);
}
@ -57,9 +57,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"(1.1, 1.1) (2.2, 2.2) (3.3, 3.3)
(4.4, 4.4) (5.5, 5.5) (6.6, 6.6)
(7.7, 7.7) (8.8, 8.8) (9.9, 9.9)";
var expected = "(1.1, 1.1) (2.2, 2.2) (3.3, 3.3)" + Environment.NewLine
+ "(4.4, 4.4) (5.5, 5.5) (6.6, 6.6)" + Environment.NewLine
+ "(7.7, 7.7) (8.8, 8.8) (9.9, 9.9)";
Assert.AreEqual(expected, text);
}
@ -77,13 +77,10 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
var expected = "a\tb\tc"
+ Environment.NewLine
+ "(1.1, 1.1)\t(2.2, 2.2)\t(3.3, 3.3)"
+ Environment.NewLine
+ "(4.4, 4.4)\t(5.5, 5.5)\t(6.6, 6.6)"
+ Environment.NewLine
+ "(7.7, 7.7)\t(8.8, 8.8)\t(9.9, 9.9)";
var expected = "a\tb\tc" + Environment.NewLine
+ "(1.1, 1.1)\t(2.2, 2.2)\t(3.3, 3.3)" + Environment.NewLine
+ "(4.4, 4.4)\t(5.5, 5.5)\t(6.6, 6.6)" + Environment.NewLine
+ "(7.7, 7.7)\t(8.8, 8.8)\t(9.9, 9.9)";
Assert.AreEqual(expected, text);
}
}

56
src/UnitTests/LinearAlgebraTests/Complex32/IO/DelimitedReaderTests.cs

@ -7,7 +7,6 @@
using LinearAlgebra.Complex32;
using LinearAlgebra.Complex32.IO;
using MbUnit.Framework;
using Numerics;
[TestFixture]
public class DelimitedReaderTests
@ -16,16 +15,17 @@
[MultipleAsserts]
public void CanParseCommaDelimitedData()
{
const string data =
@"a,b,c
(1,2)
""2.2"",0.3e1
'(4,-5)',5,6
";
var data = "a,b,c" + Environment.NewLine
+ "(1,2)" + Environment.NewLine
+ "\"2.2\",0.3e1" + Environment.NewLine
+ "'(4,-5)',5,6" + Environment.NewLine;
var reader = new DelimitedReader<DenseMatrix>(',')
{
HasHeaderRow = true
HasHeaderRow = true,
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -46,13 +46,15 @@
[MultipleAsserts]
public void CanParseTabDelimtedData()
{
var data = "1"
+ Environment.NewLine
+ "\"2.2\"\t\t0.3e1"
+ Environment.NewLine
var data = "1" + Environment.NewLine
+ "\"2.2\"\t\t0.3e1" + Environment.NewLine
+ "'4'\t5\t6";
var reader = new DelimitedReader<SparseMatrix>('\t');
var reader = new DelimitedReader<SparseMatrix>('\t')
{
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -71,12 +73,15 @@
[MultipleAsserts]
public void CanParseWhiteSpaceDelimitedData()
{
const string data =
@"1
""(2.2,3.3)"" 0.3e1
'4' 5 6
";
var reader = new DelimitedReader<UserDefinedMatrix>();
var data = "1" + Environment.NewLine
+ "\"(2.2,3.3)\" 0.3e1" + Environment.NewLine
+ "'4' 5 6" + Environment.NewLine;
var reader = new DelimitedReader<UserDefinedMatrix>
{
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -96,15 +101,14 @@
[MultipleAsserts]
public void CanParsePeriodDelimitedData()
{
const string data =
@"a.b.c
1
""2,2"".0,3e1+0,2e1i
'4,0'.5,0.6,0
";
var data = "a.b.c" + Environment.NewLine
+ "1" + Environment.NewLine
+ "\"2,2\".0,3e1+0,2e1i" + Environment.NewLine
+ "'4,0'.5,0.6,0" + Environment.NewLine;
var reader = new DelimitedReader<DenseMatrix>('.')
{
HasHeaderRow = true,
HasHeaderRow = true,
CultureInfo = new CultureInfo("tr-TR")
};

29
src/UnitTests/LinearAlgebraTests/Complex32/IO/DelimitedWriterTests.cs

@ -21,9 +21,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"(1.1, 1.1),(2.2, 2.2),(3.3, 3.3)
(4.4, 4.4),(5.5, 5.5),(6.6, 6.6)
(7.7, 7.7),(8.8, 8.8),(9.9, 9.9)";
var expected = "(1.1, 1.1),(2.2, 2.2),(3.3, 3.3)" + Environment.NewLine
+ "(4.4, 4.4),(5.5, 5.5),(6.6, 6.6)" + Environment.NewLine
+ "(7.7, 7.7),(8.8, 8.8),(9.9, 9.9)";
Assert.AreEqual(expected, text);
}
@ -41,9 +41,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"(1,1, 1,1).(2,2, 2,2).(3,3, 3,3)
(4,4, 4,4).(5,5, 5,5).(6,6, 6,6)
(7,7, 7,7).(8,8, 8,8).(9,9, 9,9)";
var expected = "(1,1, 1,1).(2,2, 2,2).(3,3, 3,3)" + Environment.NewLine
+ "(4,4, 4,4).(5,5, 5,5).(6,6, 6,6)" + Environment.NewLine
+ "(7,7, 7,7).(8,8, 8,8).(9,9, 9,9)";
Assert.AreEqual(expected, text);
}
@ -57,9 +57,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"(1.1, 1.1) (2.2, 2.2) (3.3, 3.3)
(4.4, 4.4) (5.5, 5.5) (6.6, 6.6)
(7.7, 7.7) (8.8, 8.8) (9.9, 9.9)";
var expected = "(1.1, 1.1) (2.2, 2.2) (3.3, 3.3)" + Environment.NewLine
+ "(4.4, 4.4) (5.5, 5.5) (6.6, 6.6)" + Environment.NewLine
+ "(7.7, 7.7) (8.8, 8.8) (9.9, 9.9)";
Assert.AreEqual(expected, text);
}
@ -77,13 +77,10 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
var expected = "a\tb\tc"
+ Environment.NewLine
+ "(1.1, 1.1)\t(2.2, 2.2)\t(3.3, 3.3)"
+ Environment.NewLine
+ "(4.4, 4.4)\t(5.5, 5.5)\t(6.6, 6.6)"
+ Environment.NewLine
+ "(7.7, 7.7)\t(8.8, 8.8)\t(9.9, 9.9)";
var expected = "a\tb\tc" + Environment.NewLine
+ "(1.1, 1.1)\t(2.2, 2.2)\t(3.3, 3.3)" + Environment.NewLine
+ "(4.4, 4.4)\t(5.5, 5.5)\t(6.6, 6.6)" + Environment.NewLine
+ "(7.7, 7.7)\t(8.8, 8.8)\t(9.9, 9.9)";
Assert.AreEqual(expected, text);
}
}

55
src/UnitTests/LinearAlgebraTests/Double/IO/DelimitedReaderTests.cs

@ -15,16 +15,17 @@
[MultipleAsserts]
public void CanParseCommaDelimitedData()
{
const string data =
@"a,b,c
1
""2.2"",0.3e1
'4',5,6
";
var data = "a,b,c" + Environment.NewLine
+ "1" + Environment.NewLine
+ "\"2.2\",0.3e1" + Environment.NewLine
+ "'4',5,6" + Environment.NewLine;
var reader = new DelimitedReader<DenseMatrix>(',')
{
HasHeaderRow = true
HasHeaderRow = true,
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -43,13 +44,15 @@
[MultipleAsserts]
public void CanParseTabDelimtedData()
{
var data = "1"
+ Environment.NewLine
+ "\"2.2\"\t\t0.3e1"
+ Environment.NewLine
var data = "1" + Environment.NewLine
+ "\"2.2\"\t\t0.3e1" + Environment.NewLine
+ "'4'\t5\t6";
var reader = new DelimitedReader<SparseMatrix>('\t');
var reader = new DelimitedReader<SparseMatrix>('\t')
{
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -68,12 +71,15 @@
[MultipleAsserts]
public void CanParseWhiteSpaceDelimitedData()
{
const string data =
@"1
""2.2"" 0.3e1
'4' 5 6
";
var reader = new DelimitedReader<UserDefinedMatrix>();
var data = "1" + Environment.NewLine
+ "\"2.2\" 0.3e1" + Environment.NewLine
+ "'4' 5 6" + Environment.NewLine;
var reader = new DelimitedReader<UserDefinedMatrix>
{
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -92,15 +98,14 @@
[MultipleAsserts]
public void CanParsePeriodDelimitedData()
{
const string data =
@"a.b.c
1
""2,2"".0,3e1
'4,0'.5,0.6,0
";
var data = "a.b.c" + Environment.NewLine
+ "1" + Environment.NewLine
+ "\"2,2\".0,3e1" + Environment.NewLine
+ "'4,0'.5,0.6,0" + Environment.NewLine;
var reader = new DelimitedReader<DenseMatrix>('.')
{
HasHeaderRow = true,
HasHeaderRow = true,
CultureInfo = new CultureInfo("tr-TR")
};

29
src/UnitTests/LinearAlgebraTests/Double/IO/DelimitedWriterTests.cs

@ -20,9 +20,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"1.1,2.2,3.3
4.4,5.5,6.6
7.7,8.8,9.9";
var expected = @"1.1,2.2,3.3" + Environment.NewLine
+ "4.4,5.5,6.6" + Environment.NewLine
+ "7.7,8.8,9.9";
Assert.AreEqual(expected, text);
}
@ -40,9 +40,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"1,1.2,2.3,3
4,4.5,5.6,6
7,7.8,8.9,9";
var expected = @"1,1.2,2.3,3" + Environment.NewLine
+ "4,4.5,5.6,6" + Environment.NewLine
+ "7,7.8,8.9,9";
Assert.AreEqual(expected, text);
}
@ -56,9 +56,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"1.1 0 0
0 5.5 0
0 0 9.9";
var expected = @"1.1 0 0" + Environment.NewLine
+ "0 5.5 0" + Environment.NewLine
+ "0 0 9.9";
Assert.AreEqual(expected, text);
}
@ -76,13 +76,10 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
var expected = "a\tb\tc"
+ Environment.NewLine
+ "1.1\t2.2\t3.3"
+ Environment.NewLine
+ "4.4\t5.5\t6.6"
+ Environment.NewLine
+ "7.7\t8.8\t9.9";
var expected = "a\tb\tc" + Environment.NewLine
+ "1.1\t2.2\t3.3" + Environment.NewLine
+ "4.4\t5.5\t6.6" + Environment.NewLine
+ "7.7\t8.8\t9.9";
Assert.AreEqual(expected, text);
}
}

55
src/UnitTests/LinearAlgebraTests/Single/IO/DelimitedReaderTests.cs

@ -15,16 +15,17 @@
[MultipleAsserts]
public void CanParseCommaDelimitedData()
{
const string data =
@"a,b,c
1
""2.2"",0.3e1
'4',5,6
";
var data = "a,b,c" + Environment.NewLine
+ "1" + Environment.NewLine
+ "\"2.2\",0.3e1" + Environment.NewLine
+ "'4',5,6" + Environment.NewLine;
var reader = new DelimitedReader<DenseMatrix>(',')
{
HasHeaderRow = true
HasHeaderRow = true,
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -43,13 +44,15 @@
[MultipleAsserts]
public void CanParseTabDelimtedData()
{
var data = "1"
+ Environment.NewLine
+ "\"2.2\"\t\t0.3e1"
+ Environment.NewLine
var data = "1" + Environment.NewLine
+ "\"2.2\"\t\t0.3e1" + Environment.NewLine
+ "'4'\t5\t6";
var reader = new DelimitedReader<SparseMatrix>('\t');
var reader = new DelimitedReader<SparseMatrix>('\t')
{
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -68,12 +71,15 @@
[MultipleAsserts]
public void CanParseWhiteSpaceDelimitedData()
{
const string data =
@"1
""2.2"" 0.3e1
'4' 5 6
";
var reader = new DelimitedReader<UserDefinedMatrix>();
var data = "1" + Environment.NewLine
+ "\"2.2\" 0.3e1" + Environment.NewLine
+ "'4' 5 6" + Environment.NewLine;
var reader = new DelimitedReader<UserDefinedMatrix>()
{
CultureInfo = CultureInfo.InvariantCulture
};
var matrix = reader.ReadMatrix(new MemoryStream(Encoding.UTF8.GetBytes(data)));
Assert.AreEqual(3, matrix.RowCount);
Assert.AreEqual(3, matrix.ColumnCount);
@ -92,15 +98,14 @@
[MultipleAsserts]
public void CanParsePeriodDelimitedData()
{
const string data =
@"a.b.c
1
""2,2"".0,3e1
'4,0'.5,0.6,0
";
var data = "a.b.c" + Environment.NewLine
+ "1" + Environment.NewLine
+ "\"2,2\".0,3e1" + Environment.NewLine
+ "'4,0'.5,0.6,0" + Environment.NewLine;
var reader = new DelimitedReader<DenseMatrix>('.')
{
HasHeaderRow = true,
HasHeaderRow = true,
CultureInfo = new CultureInfo("tr-TR")
};

29
src/UnitTests/LinearAlgebraTests/Single/IO/DelimitedWriterTests.cs

@ -20,9 +20,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"1.1,2.2,3.3
4.4,5.5,6.6
7.7,8.8,9.9";
var expected = @"1.1,2.2,3.3" + Environment.NewLine
+ "4.4,5.5,6.6" + Environment.NewLine
+ "7.7,8.8,9.9";
Assert.AreEqual(expected, text);
}
@ -40,9 +40,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"1,1.2,2.3,3
4,4.5,5.6,6
7,7.8,8.9,9";
var expected = @"1,1.2,2.3,3" + Environment.NewLine
+ "4,4.5,5.6,6" + Environment.NewLine
+ "7,7.8,8.9,9";
Assert.AreEqual(expected, text);
}
@ -56,9 +56,9 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
const string expected = @"1.1 0 0
0 5.5 0
0 0 9.9";
var expected = @"1.1 0 0" + Environment.NewLine
+ "0 5.5 0" + Environment.NewLine
+ "0 0 9.9";
Assert.AreEqual(expected, text);
}
@ -76,13 +76,10 @@
var data = stream.ToArray();
var reader = new StreamReader(new MemoryStream(data));
var text = reader.ReadToEnd();
var expected = "a\tb\tc"
+ Environment.NewLine
+ "1.1\t2.2\t3.3"
+ Environment.NewLine
+ "4.4\t5.5\t6.6"
+ Environment.NewLine
+ "7.7\t8.8\t9.9";
var expected = "a\tb\tc" + Environment.NewLine
+ "1.1\t2.2\t3.3" + Environment.NewLine
+ "4.4\t5.5\t6.6" + Environment.NewLine
+ "7.7\t8.8\t9.9";
Assert.AreEqual(expected, text);
}
}

Loading…
Cancel
Save