Move test data

This commit is contained in:
Alexander Luzgarev 2019-03-07 19:02:11 +01:00
parent 957234d30d
commit 0e14434bae
25 changed files with 507 additions and 496 deletions

View File

@ -12,7 +12,7 @@ namespace MatFileHandler.Tests
/// Tests of file reading API.
/// </summary>
[TestFixture]
public class MatFileReaderTests
public class MatFileReaderLevel5Tests
{
private const string TestDirectory = "test-data";
@ -20,7 +20,7 @@ namespace MatFileHandler.Tests
/// Test reading all files in a given test set.
/// </summary>
/// <param name="testSet">Name of the set.</param>
[TestCase("good")]
[TestCase("level5")]
public void TestReader(string testSet)
{
foreach (var matFile in GetTests(testSet).GetAllTestData())
@ -35,7 +35,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestLimits()
{
var matFile = GetTests("good")["limits"];
var matFile = ReadLevel5TestFile("limits");
IArray array;
array = matFile["int8_"].Value;
CheckLimits(array as IArrayOf<sbyte>, CommonData.Int8Limits);
@ -69,7 +69,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestComplexLimits()
{
var matFile = GetTests("good")["limits_complex"];
var matFile = ReadLevel5TestFile("limits_complex");
IArray array;
array = matFile["int8_complex"].Value;
CheckComplexLimits(array as IArrayOf<ComplexOf<sbyte>>, CommonData.Int8Limits);
@ -105,7 +105,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestAscii()
{
var matFile = GetTests("good")["ascii"];
var matFile = ReadLevel5TestFile("ascii");
var arrayAscii = matFile["s"].Value as ICharArray;
Assert.That(arrayAscii, Is.Not.Null);
Assert.That(arrayAscii.Dimensions, Is.EqualTo(new[] { 1, 3 }));
@ -119,7 +119,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestUnicode()
{
var matFile = GetTests("good")["unicode"];
var matFile = ReadLevel5TestFile("unicode");
var arrayUnicode = matFile["s"].Value as ICharArray;
Assert.That(arrayUnicode, Is.Not.Null);
Assert.That(arrayUnicode.Dimensions, Is.EqualTo(new[] { 1, 2 }));
@ -134,7 +134,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestUnicodeWide()
{
var matFile = GetTests("good")["unicode-wide"];
var matFile = ReadLevel5TestFile("unicode-wide");
var arrayUnicodeWide = matFile["s"].Value as ICharArray;
Assert.That(arrayUnicodeWide, Is.Not.Null);
Assert.That(arrayUnicodeWide.Dimensions, Is.EqualTo(new[] { 1, 2 }));
@ -148,7 +148,7 @@ namespace MatFileHandler.Tests
[Test(ExpectedResult = null)]
public double[] TestConvertToDoubleArray()
{
var matFile = GetTests("good")["struct"];
var matFile = ReadLevel5TestFile("struct");
var array = matFile.Variables[0].Value;
return array.ConvertToDoubleArray();
}
@ -160,7 +160,7 @@ namespace MatFileHandler.Tests
[Test(ExpectedResult = null)]
public Complex[] TestConvertToComplexArray()
{
var matFile = GetTests("good")["struct"];
var matFile = ReadLevel5TestFile("struct");
var array = matFile.Variables[0].Value;
return array.ConvertToComplexArray();
}
@ -171,7 +171,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestStruct()
{
var matFile = GetTests("good")["struct"];
var matFile = ReadLevel5TestFile("struct");
var structure = matFile["struct_"].Value as IStructureArray;
Assert.That(structure, Is.Not.Null);
Assert.That(structure.FieldNames, Is.EquivalentTo(new[] { "x", "y" }));
@ -209,7 +209,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestSparse()
{
var matFile = GetTests("good")["sparse"];
var matFile = ReadLevel5TestFile("sparse");
var sparseArray = matFile["sparse_"].Value as ISparseArrayOf<double>;
Assert.That(sparseArray, Is.Not.Null);
Assert.That(sparseArray.Dimensions, Is.EqualTo(new[] { 4, 5 }));
@ -229,7 +229,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestLogical()
{
var matFile = GetTests("good")["logical"];
var matFile = ReadLevel5TestFile("logical");
var array = matFile["logical_"].Value;
var logicalArray = array as IArrayOf<bool>;
Assert.That(logicalArray, Is.Not.Null);
@ -247,7 +247,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestSparseLogical()
{
var matFile = GetTests("good")["sparse_logical"];
var matFile = ReadLevel5TestFile("sparse_logical");
var array = matFile["sparse_logical"].Value;
var sparseArray = array as ISparseArrayOf<bool>;
Assert.That(sparseArray, Is.Not.Null);
@ -266,7 +266,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestGlobal()
{
var matFile = GetTests("good")["global"];
var matFile = ReadLevel5TestFile("global");
var variable = matFile.Variables.First();
Assert.That(variable.IsGlobal, Is.True);
}
@ -277,7 +277,7 @@ namespace MatFileHandler.Tests
[Test]
public void TextSparseComplex()
{
var matFile = GetTests("good")["sparse_complex"];
var matFile = ReadLevel5TestFile("sparse_complex");
var array = matFile["sparse_complex"].Value;
var sparseArray = array as ISparseArrayOf<Complex>;
Assert.That(sparseArray, Is.Not.Null);
@ -293,7 +293,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestObject()
{
var matFile = GetTests("good")["object"];
var matFile = ReadLevel5TestFile("object");
var obj = matFile["object_"].Value as IMatObject;
Assert.IsNotNull(obj);
Assert.That(obj.ClassName, Is.EqualTo("Point"));
@ -310,7 +310,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestObject2()
{
var matFile = GetTests("good")["object2"];
var matFile = ReadLevel5TestFile("object2");
var obj = matFile["object2"].Value as IMatObject;
Assert.IsNotNull(obj);
Assert.That(obj.ClassName, Is.EqualTo("Point"));
@ -333,7 +333,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestTable()
{
var matFile = GetTests("good")["table"];
var matFile = ReadLevel5TestFile("table");
var obj = matFile["table_"].Value as IMatObject;
var table = new TableAdapter(obj);
Assert.That(table.NumberOfRows, Is.EqualTo(3));
@ -354,7 +354,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestSubobjects()
{
var matFile = GetTests("good")["pointWithSubpoints"];
var matFile = ReadLevel5TestFile("pointWithSubpoints");
var p = matFile["p"].Value as IMatObject;
Assert.That(p.ClassName, Is.EqualTo("Point"));
var x = p["x"] as IMatObject;
@ -377,7 +377,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestNestedObjects()
{
var matFile = GetTests("good")["subsubPoint"];
var matFile = ReadLevel5TestFile("subsubPoint");
var p = matFile["p"].Value as IMatObject;
Assert.That(p.ClassName, Is.EqualTo("Point"));
Assert.That(p["x"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 1.0 }));
@ -395,7 +395,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestDatetime()
{
var matFile = GetTests("good")["datetime"];
var matFile = ReadLevel5TestFile("datetime");
var d = matFile["d"].Value as IMatObject;
var datetime = new DatetimeAdapter(d);
Assert.That(datetime.Dimensions, Is.EquivalentTo(new[] { 1, 2 }));
@ -409,7 +409,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestDatetime2()
{
var matFile = GetTests("good")["datetime2"];
var matFile = ReadLevel5TestFile("datetime2");
var d = matFile["d"].Value as IMatObject;
var datetime = new DatetimeAdapter(d);
Assert.That(datetime.Dimensions, Is.EquivalentTo(new[] { 1, 1 }));
@ -424,7 +424,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestString()
{
var matFile = GetTests("good")["string"];
var matFile = ReadLevel5TestFile("string");
var s = matFile["s"].Value as IMatObject;
var str = new StringAdapter(s);
Assert.That(str.Dimensions, Is.EquivalentTo(new[] { 4, 1 }));
@ -440,7 +440,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestDuration()
{
var matFile = GetTests("good")["duration"];
var matFile = ReadLevel5TestFile("duration");
var d = matFile["d"].Value as IMatObject;
var duration = new DurationAdapter(d);
Assert.That(duration.Dimensions, Is.EquivalentTo(new[] { 1, 3 }));
@ -455,7 +455,7 @@ namespace MatFileHandler.Tests
[Test]
public void TestDatetime_Unrepresentable()
{
var matFile = GetTests("good")["datetime-unrepresentable"];
var matFile = ReadLevel5TestFile("datetime-unrepresentable");
var obj = matFile["d"].Value as IMatObject;
var datetime = new DatetimeAdapter(obj);
var d0 = datetime[0];
@ -481,5 +481,10 @@ namespace MatFileHandler.Tests
Assert.That(array[0], Is.EqualTo(new ComplexOf<T>(limits[0], limits[1])));
Assert.That(array[1], Is.EqualTo(new ComplexOf<T>(limits[1], limits[0])));
}
private IMatFile ReadLevel5TestFile(string testName)
{
return GetTests("level5")[testName];
}
}
}

View File

@ -27,7 +27,7 @@ namespace MatFileHandler.Tests
array[1] = 17.0;
var variable = builder.NewVariable("test", array);
var actual = builder.NewFile(new[] { variable });
MatCompareWithTestData("good", "double-array", actual);
MatCompareWithLevel5TestData("double-array", actual);
}
/// <summary>
@ -65,7 +65,7 @@ namespace MatFileHandler.Tests
var int64 = builder.NewVariable("int64_", builder.NewArray(CommonData.Int64Limits, 1, 2));
var uint64 = builder.NewVariable("uint64_", builder.NewArray(CommonData.UInt64Limits, 1, 2));
var actual = builder.NewFile(new[] { int16, int32, int64, int8, uint16, uint32, uint64, uint8 });
MatCompareWithTestData("good", "limits", actual);
MatCompareWithLevel5TestData("limits", actual);
}
/// <summary>
@ -104,7 +104,7 @@ namespace MatFileHandler.Tests
int16Complex, int32Complex, int64Complex, int8Complex,
uint16Complex, uint32Complex, uint64Complex, uint8Complex,
});
MatCompareWithTestData("good", "limits_complex", actual);
MatCompareWithLevel5TestData("limits_complex", actual);
}
/// <summary>
@ -116,7 +116,7 @@ namespace MatFileHandler.Tests
var builder = new DataBuilder();
var s = builder.NewVariable("s", builder.NewCharArray("🍆"));
var actual = builder.NewFile(new[] { s });
MatCompareWithTestData("good", "unicode-wide", actual);
MatCompareWithLevel5TestData("unicode-wide", actual);
}
/// <summary>
@ -133,7 +133,7 @@ namespace MatFileHandler.Tests
sparseArray[2, 3] = 4;
var sparse = builder.NewVariable("sparse_", sparseArray);
var actual = builder.NewFile(new[] { sparse });
MatCompareWithTestData("good", "sparse", actual);
MatCompareWithLevel5TestData("sparse", actual);
}
/// <summary>
@ -161,7 +161,7 @@ namespace MatFileHandler.Tests
structure["y", 1, 2] = builder.NewEmpty();
var struct_ = builder.NewVariable("struct_", structure);
var actual = builder.NewFile(new[] { struct_ });
MatCompareWithTestData("good", "struct", actual);
MatCompareWithLevel5TestData("struct", actual);
}
/// <summary>
@ -174,7 +174,7 @@ namespace MatFileHandler.Tests
var logical = builder.NewArray(new[] { true, false, true, true, false, true }, 2, 3);
var logicalVariable = builder.NewVariable("logical_", logical);
var actual = builder.NewFile(new[] { logicalVariable });
MatCompareWithTestData("good", "logical", actual);
MatCompareWithLevel5TestData("logical", actual);
}
/// <summary>
@ -191,7 +191,7 @@ namespace MatFileHandler.Tests
array[1, 2] = true;
var sparseLogical = builder.NewVariable("sparse_logical", array);
var actual = builder.NewFile(new[] { sparseLogical });
MatCompareWithTestData("good", "sparse_logical", actual);
MatCompareWithLevel5TestData("sparse_logical", actual);
}
/// <summary>
@ -207,7 +207,7 @@ namespace MatFileHandler.Tests
array[1, 1] = 0.5 + Complex.ImaginaryOne;
var sparseComplex = builder.NewVariable("sparse_complex", array);
var actual = builder.NewFile(new[] { sparseComplex });
MatCompareWithTestData("good", "sparse_complex", actual);
MatCompareWithLevel5TestData("sparse_complex", actual);
}
/// <summary>
@ -220,7 +220,7 @@ namespace MatFileHandler.Tests
var array = builder.NewArray(new double[] { 1, 3, 5 }, 1, 3);
var global = builder.NewVariable("global_", array, true);
var actual = builder.NewFile(new[] { global });
MatCompareWithTestData("good", "global", actual);
MatCompareWithLevel5TestData("global", actual);
}
private static AbstractTestDataFactory<IMatFile> GetMatTestData(string factoryName) =>
@ -398,6 +398,11 @@ namespace MatFileHandler.Tests
}
}
private void MatCompareWithLevel5TestData(string testName, IMatFile actual)
{
MatCompareWithTestData("level5", testName, actual);
}
private void MatCompareWithTestData(string factoryName, string testName, IMatFile actual)
{
var expected = GetMatTestData(factoryName)[testName];

View File

@ -26,12 +26,13 @@
<AdditionalFiles Include="..\stylecop.json" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="HDF.PInvoke.NETStandard" Version="1.10.200" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.0-beta004">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
<PackageReference Include="System.ValueTuple" Version="4.4.0" Condition="'$(TargetFramework)' == 'net461'" />
</ItemGroup>
<ItemGroup>
<None Include="..\LICENSE.md" Pack="true" PackagePath=""/>
<None Include="..\LICENSE.md" Pack="true" PackagePath="" />
</ItemGroup>
</Project>