diff --git a/MatFileHandler.Tests/ArrayHandlingTests.cs b/MatFileHandler.Tests/ArrayHandlingTests.cs
index 0264286..f15599e 100755
--- a/MatFileHandler.Tests/ArrayHandlingTests.cs
+++ b/MatFileHandler.Tests/ArrayHandlingTests.cs
@@ -1,32 +1,28 @@
// Copyright 2017-2018 Alexander Luzgarev
+using System;
using System.Collections.Generic;
using System.Numerics;
-using NUnit.Framework;
+using Xunit;
namespace MatFileHandler.Tests
{
///
/// Tests of Matlab array manipulation.
///
- [TestFixture]
- public class ArrayHandlingTests
+ public class ArrayHandlingTests : IDisposable
{
- private DataBuilder Builder { get; set; }
-
- ///
- /// Set up a DataBuilder.
- ///
- [SetUp]
- public void Setup()
+ public ArrayHandlingTests()
{
Builder = new DataBuilder();
}
+ private DataBuilder Builder { get; set; }
+
///
/// Test numerical array creation.
///
- [Test]
+ [Fact]
public void TestCreate()
{
TestCreateArrayOf();
@@ -54,70 +50,74 @@ namespace MatFileHandler.Tests
///
/// Test numerical array manipulation.
///
- [Test]
+ [Fact]
public void TestNumArray()
{
var array = Builder.NewArray(2, 3);
array[0, 1] = 2;
- Assert.That(array[0, 1], Is.EqualTo(2));
+ Assert.Equal(2, array[0, 1]);
}
///
/// Test cell array manipulation.
///
- [Test]
+ [Fact]
public void TestCellArray()
{
var array = Builder.NewCellArray(2, 3);
- Assert.That(array.Dimensions, Is.EqualTo(new[] { 2, 3 }));
+ Assert.Equal(new[] { 2, 3 }, array.Dimensions);
array[0, 1] = Builder.NewArray(1, 2);
- Assert.That(array[1, 2].IsEmpty, Is.True);
- Assert.That(array[0, 1].IsEmpty, Is.False);
+ Assert.True(array[1, 2].IsEmpty);
+ Assert.False(array[0, 1].IsEmpty);
var assigned = (IArrayOf)array[0, 1];
- Assert.That(assigned, Is.Not.Null);
- Assert.That(assigned.Dimensions, Is.EqualTo(new[] { 1, 2 }));
+ Assert.NotNull(assigned);
+ Assert.Equal(new[] { 1, 2 }, assigned.Dimensions);
}
///
/// Test structure array manipulation.
///
- [Test]
+ [Fact]
public void TestStructureArray()
{
var array = Builder.NewStructureArray(new[] { "x", "y" }, 2, 3);
array["x", 0, 1] = Builder.NewArray(1, 2);
- Assert.That(array["y", 0, 1].IsEmpty, Is.True);
- Assert.That(array["x", 0, 1].IsEmpty, Is.False);
+ Assert.True(array["y", 0, 1].IsEmpty);
+ Assert.False(array["x", 0, 1].IsEmpty);
var assigned = (IArrayOf)array["x", 0, 1];
- Assert.That(assigned, Is.Not.Null);
- Assert.That(assigned.Dimensions, Is.EqualTo(new[] { 1, 2 }));
+ Assert.NotNull(assigned);
+ Assert.Equal(new[] { 1, 2 }, assigned.Dimensions);
}
///
/// Test character array manipulation.
///
- [Test]
+ [Fact]
public void TestString()
{
var array = Builder.NewCharArray("🍆");
- Assert.That(array.Dimensions, Is.EqualTo(new[] { 1, 2 }));
+ Assert.Equal(new[] { 1, 2 }, array.Dimensions);
}
///
/// Test file creation.
///
- [Test]
+ [Fact]
public void TestFile()
{
var file = Builder.NewFile(new List());
- Assert.That(file, Is.Not.Null);
+ Assert.NotNull(file);
}
-
+
private static void TestCreateArrayOf()
where T : struct
{
var array = new DataBuilder().NewArray(2, 3);
- Assert.That(array, Is.Not.Null);
+ Assert.NotNull(array);
+ }
+
+ public void Dispose()
+ {
}
}
}
\ No newline at end of file
diff --git a/MatFileHandler.Tests/ComplexOfTests.cs b/MatFileHandler.Tests/ComplexOfTests.cs
index d25305d..bbff969 100755
--- a/MatFileHandler.Tests/ComplexOfTests.cs
+++ b/MatFileHandler.Tests/ComplexOfTests.cs
@@ -1,51 +1,50 @@
// Copyright 2017-2018 Alexander Luzgarev
-using NUnit.Framework;
+using Xunit;
namespace MatFileHandler.Tests
{
///
/// Tests of the ComplexOf value type.
///
- [TestFixture]
public class ComplexOfTests
{
///
/// Test getting real and imaginary parts.
///
- [Test]
+ [Fact]
public void TestAccessors()
{
var c = new ComplexOf(1, 2);
- Assert.That(c.Real, Is.EqualTo(1));
- Assert.That(c.Imaginary, Is.EqualTo(2));
+ Assert.Equal(1, c.Real);
+ Assert.Equal(2, c.Imaginary);
}
///
/// Test equality operators.
///
- [Test]
+ [Fact]
public void TestEquals()
{
var c1 = new ComplexOf(1, 2);
var c2 = new ComplexOf(3, 4);
var c3 = new ComplexOf(1, 2);
- Assert.That(c1 == c3, Is.True);
- Assert.That(c1 != c2, Is.True);
- Assert.That(c2 != c3, Is.True);
+ Assert.True(c1 == c3);
+ Assert.True(c1 != c2);
+ Assert.True(c2 != c3);
}
///
/// Test hash code calculation.
///
- [Test]
+ [Fact]
public void TestGetHashCode()
{
var c1 = new ComplexOf(1, 2);
var c2 = new ComplexOf(1, 2);
var h1 = c1.GetHashCode();
var h2 = c2.GetHashCode();
- Assert.That(h1, Is.EqualTo(h2));
+ Assert.Equal(h1, h2);
}
}
}
\ No newline at end of file
diff --git a/MatFileHandler.Tests/MatFileHandler.Tests.csproj b/MatFileHandler.Tests/MatFileHandler.Tests.csproj
index fb28c66..9dacef9 100755
--- a/MatFileHandler.Tests/MatFileHandler.Tests.csproj
+++ b/MatFileHandler.Tests/MatFileHandler.Tests.csproj
@@ -12,8 +12,11 @@
-
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/MatFileHandler.Tests/MatFileReaderTests.cs b/MatFileHandler.Tests/MatFileReaderTests.cs
index 7675f9d..41e408d 100755
--- a/MatFileHandler.Tests/MatFileReaderTests.cs
+++ b/MatFileHandler.Tests/MatFileReaderTests.cs
@@ -4,14 +4,13 @@ using System;
using System.IO;
using System.Linq;
using System.Numerics;
-using NUnit.Framework;
+using Xunit;
namespace MatFileHandler.Tests
{
///
/// Tests of file reading API.
///
- [TestFixture]
public class MatFileReaderTests
{
private const string TestDirectory = "test-data";
@@ -20,26 +19,27 @@ namespace MatFileHandler.Tests
/// Test reading all files in a given test set.
///
/// Name of the set.
- [TestCase("good")]
+ [Theory]
+ [InlineData("good")]
public void TestReader(string testSet)
{
foreach (var matFile in GetTests(testSet).GetAllTestData())
{
- Assert.That(matFile.Variables, Is.Not.Empty);
+ Assert.NotEmpty(matFile.Variables);
}
}
///
/// Test reading lower and upper limits of integer data types.
///
- [Test]
+ [Fact]
public void TestLimits()
{
var matFile = GetTests("good")["limits"];
IArray array;
array = matFile["int8_"].Value;
CheckLimits(array as IArrayOf, CommonData.Int8Limits);
- Assert.That(array.ConvertToDoubleArray(), Is.EqualTo(new[] { -128.0, 127.0 }));
+ Assert.Equal(new[] { -128.0, 127.0 }, array.ConvertToDoubleArray());
array = matFile["uint8_"].Value;
CheckLimits(array as IArrayOf, CommonData.UInt8Limits);
@@ -66,16 +66,16 @@ namespace MatFileHandler.Tests
///
/// Test writing lower and upper limits of integer-based complex data types.
///
- [Test]
+ [Fact]
public void TestComplexLimits()
{
var matFile = GetTests("good")["limits_complex"];
IArray array;
array = matFile["int8_complex"].Value;
CheckComplexLimits(array as IArrayOf>, CommonData.Int8Limits);
- Assert.That(
- array.ConvertToComplexArray(),
- Is.EqualTo(new[] { -128.0 + (127.0 * Complex.ImaginaryOne), 127.0 - (128.0 * Complex.ImaginaryOne) }));
+ Assert.Equal(
+ new[] { -128.0 + (127.0 * Complex.ImaginaryOne), 127.0 - (128.0 * Complex.ImaginaryOne) },
+ array.ConvertToComplexArray());
array = matFile["uint8_complex"].Value;
CheckComplexLimits(array as IArrayOf>, CommonData.UInt8Limits);
@@ -102,395 +102,398 @@ namespace MatFileHandler.Tests
///
/// Test reading an ASCII-encoded string.
///
- [Test]
+ [Fact]
public void TestAscii()
{
var matFile = GetTests("good")["ascii"];
var arrayAscii = matFile["s"].Value as ICharArray;
- Assert.That(arrayAscii, Is.Not.Null);
- Assert.That(arrayAscii.Dimensions, Is.EqualTo(new[] { 1, 3 }));
- Assert.That(arrayAscii.String, Is.EqualTo("abc"));
- Assert.That(arrayAscii[2], Is.EqualTo('c'));
+ Assert.NotNull(arrayAscii);
+ Assert.Equal(new[] { 1, 3 }, arrayAscii.Dimensions);
+ Assert.Equal("abc", arrayAscii.String);
+ Assert.Equal('c', arrayAscii[2]);
}
///
/// Test reading a Unicode string.
///
- [Test]
+ [Fact]
public void TestUnicode()
{
var matFile = GetTests("good")["unicode"];
var arrayUnicode = matFile["s"].Value as ICharArray;
- Assert.That(arrayUnicode, Is.Not.Null);
- Assert.That(arrayUnicode.Dimensions, Is.EqualTo(new[] { 1, 2 }));
- Assert.That(arrayUnicode.String, Is.EqualTo("必フ"));
- Assert.That(arrayUnicode[0], Is.EqualTo('必'));
- Assert.That(arrayUnicode[1], Is.EqualTo('フ'));
+ Assert.NotNull(arrayUnicode);
+ Assert.Equal(new[] { 1, 2 }, arrayUnicode.Dimensions);
+ Assert.Equal("必フ", arrayUnicode.String);
+ Assert.Equal('必', arrayUnicode[0]);
+ Assert.Equal('フ', arrayUnicode[1]);
}
///
/// Test reading a wide Unicode string.
///
- [Test]
+ [Fact]
public void TestUnicodeWide()
{
var matFile = GetTests("good")["unicode-wide"];
var arrayUnicodeWide = matFile["s"].Value as ICharArray;
- Assert.That(arrayUnicodeWide, Is.Not.Null);
- Assert.That(arrayUnicodeWide.Dimensions, Is.EqualTo(new[] { 1, 2 }));
- Assert.That(arrayUnicodeWide.String, Is.EqualTo("🍆"));
+ Assert.NotNull(arrayUnicodeWide);
+ Assert.Equal(new[] { 1, 2 }, arrayUnicodeWide.Dimensions);
+ Assert.Equal("🍆", arrayUnicodeWide.String);
}
///
/// Test converting a structure array to a Double array.
///
- /// Should return null.
- [Test(ExpectedResult = null)]
- public double[] TestConvertToDoubleArray()
+ [Fact]
+ public void TestConvertToDoubleArray()
{
var matFile = GetTests("good")["struct"];
var array = matFile.Variables[0].Value;
- return array.ConvertToDoubleArray();
+ Assert.Null(array.ConvertToDoubleArray());
}
///
/// Test converting a structure array to a Complex array.
///
/// Should return null.
- [Test(ExpectedResult = null)]
- public Complex[] TestConvertToComplexArray()
+ [Fact]
+ public void TestConvertToComplexArray()
{
var matFile = GetTests("good")["struct"];
var array = matFile.Variables[0].Value;
- return array.ConvertToComplexArray();
+ Assert.Null(array.ConvertToComplexArray());
}
///
/// Test reading a structure array.
///
- [Test]
+ [Fact]
public void TestStruct()
{
var matFile = GetTests("good")["struct"];
var structure = matFile["struct_"].Value as IStructureArray;
- Assert.That(structure, Is.Not.Null);
- Assert.That(structure.FieldNames, Is.EquivalentTo(new[] { "x", "y" }));
+ Assert.NotNull(structure);
+ Assert.Equal(new[] { "x", "y" }, structure.FieldNames);
var element = structure[0, 0];
- Assert.That(element.ContainsKey("x"), Is.True);
- Assert.That(element.Count, Is.EqualTo(2));
- Assert.That(element.TryGetValue("x", out var _), Is.True);
- Assert.That(element.TryGetValue("z", out var _), Is.False);
- Assert.That(element.Keys, Has.Exactly(2).Items);
- Assert.That(element.Values, Has.Exactly(2).Items);
+ Assert.True(element.ContainsKey("x"));
+ Assert.Equal(2, element.Count);
+ Assert.True(element.TryGetValue("x", out var _));
+ Assert.False(element.TryGetValue("z", out var _));
+ Assert.Equal(2, element.Keys.Count());
+ Assert.Equal(2, element.Values.Count());
var keys = element.Select(pair => pair.Key);
- Assert.That(keys, Is.EquivalentTo(new[] { "x", "y" }));
+ Assert.Equal(new[] { "x", "y" }, keys);
- Assert.That((element["x"] as IArrayOf)?[0], Is.EqualTo(12.345));
+ Assert.Equal(12.345, (element["x"] as IArrayOf)?[0]);
- Assert.That((structure["x", 0, 0] as IArrayOf)?[0], Is.EqualTo(12.345));
- Assert.That((structure["y", 0, 0] as ICharArray)?.String, Is.EqualTo("abc"));
- Assert.That((structure["x", 1, 0] as ICharArray)?.String, Is.EqualTo("xyz"));
- Assert.That(structure["y", 1, 0].IsEmpty, Is.True);
- Assert.That((structure["x", 0, 1] as IArrayOf)?[0], Is.EqualTo(2.0));
- Assert.That((structure["y", 0, 1] as IArrayOf)?[0], Is.EqualTo(13.0));
- Assert.That(structure["x", 1, 1].IsEmpty, Is.True);
- Assert.That((structure["y", 1, 1] as ICharArray)?[0, 0], Is.EqualTo('a'));
- Assert.That(((structure["x", 0, 2] as ICellArray)?[0] as ICharArray)?.String, Is.EqualTo("x"));
- Assert.That(((structure["x", 0, 2] as ICellArray)?[1] as ICharArray)?.String, Is.EqualTo("yz"));
- Assert.That((structure["y", 0, 2] as IArrayOf)?.Dimensions, Is.EqualTo(new[] { 2, 3 }));
- Assert.That((structure["y", 0, 2] as IArrayOf)?[0, 2], Is.EqualTo(3.0));
- Assert.That((structure["x", 1, 2] as IArrayOf)?[0], Is.EqualTo(1.5f));
- Assert.That(structure["y", 1, 2].IsEmpty, Is.True);
+ Assert.Equal(12.345, (structure["x", 0, 0] as IArrayOf)?[0]);
+ Assert.Equal(2.0, (structure["x", 0, 1] as IArrayOf)?[0]);
+ Assert.Equal("x", ((structure["x", 0, 2] as ICellArray)?[0] as ICharArray)?.String);
+ Assert.Equal("yz", ((structure["x", 0, 2] as ICellArray)?[1] as ICharArray)?.String);
+ Assert.Equal("xyz", (structure["x", 1, 0] as ICharArray)?.String);
+ Assert.True(structure["x", 1, 1].IsEmpty);
+ Assert.Equal(1.5f, (structure["x", 1, 2] as IArrayOf)?[0]);
- Assert.That(structure["y", 0, 2].ConvertTo2dDoubleArray(), Is.EqualTo(
+ Assert.Equal("abc", (structure["y", 0, 0] as ICharArray)?.String);
+ Assert.Equal(13.0, (structure["y", 0, 1] as IArrayOf)?[0]);
+ Assert.Equal(new[] { 2, 3 }, (structure["y", 0, 2] as IArrayOf)?.Dimensions);
+ Assert.Equal(3.0, (structure["y", 0, 2] as IArrayOf)?[0, 2]);
+ Assert.True(structure["y", 1, 0].IsEmpty);
+ Assert.Equal('a', (structure["y", 1, 1] as ICharArray)?[0, 0]);
+ Assert.True(structure["y", 1, 2].IsEmpty);
+
+ Assert.Equal(
new double[,]
{
{ 1, 2, 3 },
{ 4, 5, 6 },
- }));
- Assert.That(structure["y", 0, 2].ConvertToMultidimensionalDoubleArray(), Is.EqualTo(
+ },
+ structure["y", 0, 2].ConvertTo2dDoubleArray());
+ Assert.Equal(
new double[,]
{
{ 1, 2, 3 },
{ 4, 5, 6 },
- }));
+ },
+ structure["y", 0, 2].ConvertToMultidimensionalDoubleArray());
}
///
/// Test reading a sparse array.
///
- [Test]
+ [Fact]
public void TestSparse()
{
var matFile = GetTests("good")["sparse"];
var sparseArray = matFile["sparse_"].Value as ISparseArrayOf;
- Assert.That(sparseArray, Is.Not.Null);
- Assert.That(sparseArray.Dimensions, Is.EqualTo(new[] { 4, 5 }));
- Assert.That(sparseArray.Data[(1, 1)], Is.EqualTo(1.0));
- Assert.That(sparseArray[1, 1], Is.EqualTo(1.0));
- Assert.That(sparseArray[1, 2], Is.EqualTo(2.0));
- Assert.That(sparseArray[2, 1], Is.EqualTo(3.0));
- Assert.That(sparseArray[2, 3], Is.EqualTo(4.0));
- Assert.That(sparseArray[0, 4], Is.EqualTo(0.0));
- Assert.That(sparseArray[3, 0], Is.EqualTo(0.0));
- Assert.That(sparseArray[3, 4], Is.EqualTo(0.0));
+ Assert.NotNull(sparseArray);
+ Assert.Equal(new[] { 4, 5 }, sparseArray.Dimensions);
+ Assert.Equal(1.0, sparseArray.Data[(1, 1)]);
+ Assert.Equal(1.0, sparseArray[1, 1]);
+ Assert.Equal(2.0, sparseArray[1, 2]);
+ Assert.Equal(3.0, sparseArray[2, 1]);
+ Assert.Equal(4.0, sparseArray[2, 3]);
+ Assert.Equal(0.0, sparseArray[0, 4]);
+ Assert.Equal(0.0, sparseArray[3, 0]);
+ Assert.Equal(0.0, sparseArray[3, 4]);
- Assert.That(sparseArray.ConvertTo2dDoubleArray(), Is.EqualTo(
+ Assert.Equal(
new double[,]
{
{ 0, 0, 0, 0, 0 },
{ 0, 1, 2, 0, 0 },
{ 0, 3, 0, 4, 0 },
{ 0, 0, 0, 0, 0 },
- }));
+ },
+ sparseArray.ConvertTo2dDoubleArray());
}
///
/// Test reading a logical array.
///
- [Test]
+ [Fact]
public void TestLogical()
{
var matFile = GetTests("good")["logical"];
var array = matFile["logical_"].Value;
var logicalArray = array as IArrayOf;
- Assert.That(logicalArray, Is.Not.Null);
- Assert.That(logicalArray[0, 0], Is.True);
- Assert.That(logicalArray[0, 1], Is.True);
- Assert.That(logicalArray[0, 2], Is.False);
- Assert.That(logicalArray[1, 0], Is.False);
- Assert.That(logicalArray[1, 1], Is.True);
- Assert.That(logicalArray[1, 2], Is.True);
+ Assert.NotNull(logicalArray);
+ Assert.True(logicalArray[0, 0]);
+ Assert.True(logicalArray[0, 1]);
+ Assert.False(logicalArray[0, 2]);
+ Assert.False(logicalArray[1, 0]);
+ Assert.True(logicalArray[1, 1]);
+ Assert.True(logicalArray[1, 2]);
}
///
/// Test reading a sparse logical array.
///
- [Test]
+ [Fact]
public void TestSparseLogical()
{
var matFile = GetTests("good")["sparse_logical"];
var array = matFile["sparse_logical"].Value;
var sparseArray = array as ISparseArrayOf;
- Assert.That(sparseArray, Is.Not.Null);
- Assert.That(sparseArray.Data[(0, 0)], Is.True);
- Assert.That(sparseArray[0, 0], Is.True);
- Assert.That(sparseArray[0, 1], Is.True);
- Assert.That(sparseArray[0, 2], Is.False);
- Assert.That(sparseArray[1, 0], Is.False);
- Assert.That(sparseArray[1, 1], Is.True);
- Assert.That(sparseArray[1, 2], Is.True);
+ Assert.NotNull (sparseArray);
+ Assert.True(sparseArray.Data[(0, 0)]);
+ Assert.True(sparseArray[0, 0]);
+ Assert.True(sparseArray[0, 1]);
+ Assert.False(sparseArray[0, 2]);
+ Assert.False(sparseArray[1, 0]);
+ Assert.True(sparseArray[1, 1]);
+ Assert.True(sparseArray[1, 2]);
}
///
/// Test reading a global variable.
///
- [Test]
+ [Fact]
public void TestGlobal()
{
var matFile = GetTests("good")["global"];
var variable = matFile.Variables.First();
- Assert.That(variable.IsGlobal, Is.True);
+ Assert.True(variable.IsGlobal);
}
///
/// Test reading a sparse complex array.
///
- [Test]
+ [Fact]
public void TextSparseComplex()
{
var matFile = GetTests("good")["sparse_complex"];
var array = matFile["sparse_complex"].Value;
var sparseArray = array as ISparseArrayOf;
- Assert.That(sparseArray, Is.Not.Null);
- Assert.That(sparseArray[0, 0], Is.EqualTo(-1.5 + (2.5 * Complex.ImaginaryOne)));
- Assert.That(sparseArray[1, 0], Is.EqualTo(2 - (3 * Complex.ImaginaryOne)));
- Assert.That(sparseArray[0, 1], Is.EqualTo(Complex.Zero));
- Assert.That(sparseArray[1, 1], Is.EqualTo(0.5 + (1.0 * Complex.ImaginaryOne)));
+ Assert.NotNull(sparseArray);
+ Assert.Equal(-1.5 + (2.5 * Complex.ImaginaryOne), sparseArray[0, 0]);
+ Assert.Equal(2 - (3 * Complex.ImaginaryOne), sparseArray[1, 0]);
+ Assert.Equal(Complex.Zero, sparseArray[0, 1]);
+ Assert.Equal(0.5 + (1.0 * Complex.ImaginaryOne), sparseArray[1, 1]);
}
///
/// Test reading an object.
///
- [Test]
+ [Fact]
public void TestObject()
{
var matFile = GetTests("good")["object"];
var obj = matFile["object_"].Value as IMatObject;
- Assert.IsNotNull(obj);
- Assert.That(obj.ClassName, Is.EqualTo("Point"));
- Assert.That(obj.FieldNames, Is.EquivalentTo(new[] { "x", "y" }));
- Assert.That(obj["x", 0].ConvertToDoubleArray(), Is.EqualTo(new[] { 3.0 }));
- Assert.That(obj["y", 0].ConvertToDoubleArray(), Is.EqualTo(new[] { 5.0 }));
- Assert.That(obj["x", 1].ConvertToDoubleArray(), Is.EqualTo(new[] { -2.0 }));
- Assert.That(obj["y", 1].ConvertToDoubleArray(), Is.EqualTo(new[] { 6.0 }));
+ Assert.NotNull(obj);
+ Assert.Equal("Point", obj.ClassName);
+ Assert.Equal(new[] { "x", "y" }, obj.FieldNames);
+ Assert.Equal(new[] { 3.0 }, obj["x", 0].ConvertToDoubleArray());
+ Assert.Equal(new[] { 5.0 }, obj["y", 0].ConvertToDoubleArray());
+ Assert.Equal(new[] { -2.0 }, obj["x", 1].ConvertToDoubleArray());
+ Assert.Equal(new[] { 6.0 }, obj["y", 1].ConvertToDoubleArray());
}
///
/// Test reading another object.
///
- [Test]
+ [Fact]
public void TestObject2()
{
var matFile = GetTests("good")["object2"];
var obj = matFile["object2"].Value as IMatObject;
- Assert.IsNotNull(obj);
- Assert.That(obj.ClassName, Is.EqualTo("Point"));
- Assert.That(obj.FieldNames, Is.EquivalentTo(new[] { "x", "y" }));
- Assert.That(obj["x", 0, 0].ConvertToDoubleArray(), Is.EqualTo(new[] { 3.0 }));
- Assert.That(obj["y", 0, 0].ConvertToDoubleArray(), Is.EqualTo(new[] { 5.0 }));
- Assert.That(obj["x", 1, 0].ConvertToDoubleArray(), Is.EqualTo(new[] { 1.0 }));
- Assert.That(obj["y", 1, 0].ConvertToDoubleArray(), Is.EqualTo(new[] { 0.0 }));
- Assert.That(obj["x", 0, 1].ConvertToDoubleArray(), Is.EqualTo(new[] { -2.0 }));
- Assert.That(obj["y", 0, 1].ConvertToDoubleArray(), Is.EqualTo(new[] { 6.0 }));
- Assert.That(obj["x", 1, 1].ConvertToDoubleArray(), Is.EqualTo(new[] { 0.0 }));
- Assert.That(obj["y", 1, 1].ConvertToDoubleArray(), Is.EqualTo(new[] { 1.0 }));
- Assert.That(obj[0, 1]["x"].ConvertToDoubleArray(), Is.EqualTo(new[] { -2.0 }));
- Assert.That(obj[2]["x"].ConvertToDoubleArray(), Is.EqualTo(new[] { -2.0 }));
+ Assert.NotNull(obj);
+ Assert.Equal("Point", obj.ClassName);
+ Assert.Equal(new[] { "x", "y" }, obj.FieldNames);
+ Assert.Equal(new[] { 3.0 }, obj["x", 0, 0].ConvertToDoubleArray());
+ Assert.Equal(new[] { -2.0 }, obj["x", 0, 1].ConvertToDoubleArray());
+ Assert.Equal(new[] { 1.0 }, obj["x", 1, 0].ConvertToDoubleArray());
+ Assert.Equal(new[] { 0.0 }, obj["x", 1, 1].ConvertToDoubleArray());
+ Assert.Equal(new[] { 5.0 }, obj["y", 0, 0].ConvertToDoubleArray());
+ Assert.Equal(new[] { 6.0 }, obj["y", 0, 1].ConvertToDoubleArray());
+ Assert.Equal(new[] { 0.0 }, obj["y", 1, 0].ConvertToDoubleArray());
+ Assert.Equal(new[] { 1.0 }, obj["y", 1, 1].ConvertToDoubleArray());
+ Assert.Equal(new[] { -2.0 }, obj[0, 1]["x"].ConvertToDoubleArray());
+ Assert.Equal(new[] { -2.0 }, obj[2]["x"].ConvertToDoubleArray());
}
///
/// Test reading a table.
///
- [Test]
+ [Fact]
public void TestTable()
{
var matFile = GetTests("good")["table"];
var obj = matFile["table_"].Value as IMatObject;
var table = new TableAdapter(obj);
- Assert.That(table.NumberOfRows, Is.EqualTo(3));
- Assert.That(table.NumberOfVariables, Is.EqualTo(2));
- Assert.That(table.Description, Is.EqualTo("Some table"));
- Assert.That(table.VariableNames, Is.EqualTo(new[] { "variable1", "variable2" }));
+ Assert.Equal(3, table.NumberOfRows);
+ Assert.Equal(2, table.NumberOfVariables);
+ Assert.Equal("Some table", table.Description);
+ Assert.Equal(new[] { "variable1", "variable2" }, table.VariableNames);
var variable1 = table["variable1"] as ICellArray;
- Assert.That((variable1[0] as ICharArray).String, Is.EqualTo("First row"));
- Assert.That((variable1[1] as ICharArray).String, Is.EqualTo("Second row"));
- Assert.That((variable1[2] as ICharArray).String, Is.EqualTo("Third row"));
+ Assert.Equal("First row", (variable1[0] as ICharArray).String);
+ Assert.Equal("Second row", (variable1[1] as ICharArray).String);
+ Assert.Equal("Third row", (variable1[2] as ICharArray).String);
var variable2 = table["variable2"];
- Assert.That(variable2.ConvertToDoubleArray(), Is.EqualTo(new[] { 1.0, 3.0, 5.0, 2.0, 4.0, 6.0 }));
+ Assert.Equal(new[] { 1.0, 3.0, 5.0, 2.0, 4.0, 6.0 }, variable2.ConvertToDoubleArray());
}
///
/// Test subobjects within objects.
///
- [Test]
+ [Fact]
public void TestSubobjects()
{
var matFile = GetTests("good")["pointWithSubpoints"];
var p = matFile["p"].Value as IMatObject;
- Assert.That(p.ClassName, Is.EqualTo("Point"));
+ Assert.Equal("Point", p.ClassName);
var x = p["x"] as IMatObject;
- Assert.That(x.ClassName, Is.EqualTo("SubPoint"));
- Assert.That(x.FieldNames, Is.EquivalentTo(new[] { "a", "b", "c" }));
+ Assert.Equal("SubPoint", x.ClassName);
+ Assert.Equal(new[] { "a", "b", "c" }, x.FieldNames);
var y = p["y"] as IMatObject;
- Assert.That(y.ClassName, Is.EqualTo("SubPoint"));
- Assert.That(y.FieldNames, Is.EquivalentTo(new[] { "a", "b", "c" }));
- Assert.That(x["a"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 1.0 }));
- Assert.That(x["b"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 2.0 }));
- Assert.That(x["c"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 3.0 }));
- Assert.That(y["a"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 14.0 }));
- Assert.That(y["b"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 15.0 }));
- Assert.That(y["c"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 16.0 }));
+ Assert.Equal("SubPoint", y.ClassName);
+ Assert.Equal(new[] { "a", "b", "c" }, y.FieldNames);
+ Assert.Equal(new[] { 1.0 }, x["a"].ConvertToDoubleArray());
+ Assert.Equal(new[] { 2.0 }, x["b"].ConvertToDoubleArray());
+ Assert.Equal(new[] { 3.0 }, x["c"].ConvertToDoubleArray());
+ Assert.Equal(new[] { 14.0 }, y["a"].ConvertToDoubleArray());
+ Assert.Equal(new[] { 15.0 }, y["b"].ConvertToDoubleArray());
+ Assert.Equal(new[] { 16.0 }, y["c"].ConvertToDoubleArray());
}
///
/// Test nested objects.
///
- [Test]
+ [Fact]
public void TestNestedObjects()
{
var matFile = GetTests("good")["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 }));
+ Assert.Equal("Point", p.ClassName);
+ Assert.Equal(new[] { 1.0 }, p["x"].ConvertToDoubleArray());
var pp = p["y"] as IMatObject;
- Assert.That(pp.ClassName == "Point");
- Assert.That(pp["x"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 10.0 }));
+ Assert.True(pp.ClassName == "Point");
+ Assert.Equal(new[] { 10.0 }, pp["x"].ConvertToDoubleArray());
var ppp = pp["y"] as IMatObject;
- Assert.That(ppp["x"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 100.0 }));
- Assert.That(ppp["y"].ConvertToDoubleArray(), Is.EquivalentTo(new[] { 200.0 }));
+ Assert.Equal(new[] { 100.0 }, ppp["x"].ConvertToDoubleArray());
+ Assert.Equal(new[] { 200.0 }, ppp["y"].ConvertToDoubleArray());
}
///
/// Test datetime objects.
///
- [Test]
+ [Fact]
public void TestDatetime()
{
var matFile = GetTests("good")["datetime"];
var d = matFile["d"].Value as IMatObject;
var datetime = new DatetimeAdapter(d);
- Assert.That(datetime.Dimensions, Is.EquivalentTo(new[] { 1, 2 }));
- Assert.That(datetime[0], Is.EqualTo(new DateTimeOffset(2000, 1, 1, 0, 0, 0, TimeSpan.Zero)));
- Assert.That(datetime[1], Is.EqualTo(new DateTimeOffset(1987, 1, 2, 3, 4, 5, TimeSpan.Zero)));
+ Assert.Equal(new[] { 1, 2 }, datetime.Dimensions);
+ Assert.Equal(new DateTimeOffset(2000, 1, 1, 0, 0, 0, TimeSpan.Zero), datetime[0]);
+ Assert.Equal(new DateTimeOffset(1987, 1, 2, 3, 4, 5, TimeSpan.Zero), datetime[1]);
}
///
/// Another test for datetime objects.
///
- [Test]
+ [Fact]
public void TestDatetime2()
{
var matFile = GetTests("good")["datetime2"];
var d = matFile["d"].Value as IMatObject;
var datetime = new DatetimeAdapter(d);
- Assert.That(datetime.Dimensions, Is.EquivalentTo(new[] { 1, 1 }));
+ Assert.Equal(new[] { 1, 1 }, datetime.Dimensions);
var diff = new DateTimeOffset(2, 1, 1, 1, 1, 1, 235, TimeSpan.Zero);
- Assert.That(datetime[0] - diff < TimeSpan.FromMilliseconds(1));
- Assert.That(diff - datetime[0] < TimeSpan.FromMilliseconds(1));
+ Assert.True(datetime[0] - diff < TimeSpan.FromMilliseconds(1));
+ Assert.True(diff - datetime[0] < TimeSpan.FromMilliseconds(1));
}
///
/// Test string objects.
///
- [Test]
+ [Fact]
public void TestString()
{
var matFile = GetTests("good")["string"];
var s = matFile["s"].Value as IMatObject;
var str = new StringAdapter(s);
- Assert.That(str.Dimensions, Is.EquivalentTo(new[] { 4, 1 }));
- Assert.That(str[0], Is.EqualTo("abc"));
- Assert.That(str[1], Is.EqualTo("defgh"));
- Assert.That(str[2], Is.EqualTo("абвгд"));
- Assert.That(str[3], Is.EqualTo("æøå"));
+ Assert.Equal(new[] { 4, 1 }, str.Dimensions);
+ Assert.Equal("abc", str[0]);
+ Assert.Equal("defgh", str[1]);
+ Assert.Equal("абвгд", str[2]);
+ Assert.Equal("æøå", str[3]);
}
///
/// Test duration objects.
///
- [Test]
+ [Fact]
public void TestDuration()
{
var matFile = GetTests("good")["duration"];
var d = matFile["d"].Value as IMatObject;
var duration = new DurationAdapter(d);
- Assert.That(duration.Dimensions, Is.EquivalentTo(new[] { 1, 3 }));
- Assert.That(duration[0], Is.EqualTo(TimeSpan.FromTicks(12345678L)));
- Assert.That(duration[1], Is.EqualTo(new TimeSpan(0, 2, 4)));
- Assert.That(duration[2], Is.EqualTo(new TimeSpan(1, 3, 5)));
+ Assert.Equal(new[] { 1, 3 }, duration.Dimensions);
+ Assert.Equal(TimeSpan.FromTicks(12345678L), duration[0]);
+ Assert.Equal(new TimeSpan(0, 2, 4), duration[1]);
+ Assert.Equal(new TimeSpan(1, 3, 5), duration[2]);
}
///
/// Test unrepresentable datetime.
///
- [Test]
+ [Fact]
public void TestDatetime_Unrepresentable()
{
var matFile = GetTests("good")["datetime-unrepresentable"];
var obj = matFile["d"].Value as IMatObject;
var datetime = new DatetimeAdapter(obj);
var d0 = datetime[0];
- Assert.That(d0, Is.Null);
+ Assert.Null(d0);
}
- [Test]
+ [Fact]
public void Test_3DArrays()
{
var matFile = GetTests("good")["issue20.mat"];
var obj = matFile["a3d"].Value;
var values = obj.ConvertToDoubleArray();
- Assert.That(values, Is.EqualTo(Enumerable.Range(1, 24)));
+ Assert.Equal(Enumerable.Range(1, 24).Select(x => (double)x).ToArray(), values);
var expected = new double[3, 4, 2]
{
{
@@ -512,17 +515,17 @@ namespace MatFileHandler.Tests
{ 12, 24 },
},
};
- Assert.That(obj.ConvertToMultidimensionalDoubleArray(), Is.EqualTo(expected));
- Assert.That(obj.ConvertTo2dDoubleArray(), Is.EqualTo(null));
+ Assert.Equal(expected, obj.ConvertToMultidimensionalDoubleArray());
+ Assert.Null(obj.ConvertTo2dDoubleArray());
}
- [Test]
+ [Fact]
public void Test_4DArrays()
{
var matFile = GetTests("good")["issue20.mat"];
var obj = matFile["a4d"].Value;
- Assert.That(obj.ConvertToDoubleArray(), Is.EqualTo(Enumerable.Range(1, 120)));
- Assert.That(obj.ConvertTo2dDoubleArray(), Is.EqualTo(null));
+ Assert.Equal(Enumerable.Range(1, 120).Select(x => (double)x).ToArray(), obj.ConvertToDoubleArray());
+ Assert.Null(obj.ConvertTo2dDoubleArray());
}
private static AbstractTestDataFactory GetTests(string factoryName) =>
@@ -531,18 +534,18 @@ namespace MatFileHandler.Tests
private static void CheckLimits(IArrayOf array, T[] limits)
where T : struct
{
- Assert.That(array, Is.Not.Null);
- Assert.That(array.Dimensions, Is.EqualTo(new[] { 1, 2 }));
- Assert.That(array.Data, Is.EqualTo(limits));
+ Assert.NotNull(array);
+ Assert.Equal(new[] { 1, 2 }, array.Dimensions);
+ Assert.Equal(limits, array.Data);
}
private static void CheckComplexLimits(IArrayOf> array, T[] limits)
where T : struct
{
- Assert.That(array, Is.Not.Null);
- Assert.That(array.Dimensions, Is.EqualTo(new[] { 1, 2 }));
- Assert.That(array[0], Is.EqualTo(new ComplexOf(limits[0], limits[1])));
- Assert.That(array[1], Is.EqualTo(new ComplexOf(limits[1], limits[0])));
+ Assert.NotNull(array);
+ Assert.Equal(new[] { 1, 2 }, array.Dimensions);
+ Assert.Equal(new ComplexOf(limits[0], limits[1]), array[0]);
+ Assert.Equal(new ComplexOf(limits[1], limits[0]), array[1]);
}
}
}
\ No newline at end of file
diff --git a/MatFileHandler.Tests/MatFileWriterTests.cs b/MatFileHandler.Tests/MatFileWriterTests.cs
index 335220a..926ce4c 100755
--- a/MatFileHandler.Tests/MatFileWriterTests.cs
+++ b/MatFileHandler.Tests/MatFileWriterTests.cs
@@ -3,14 +3,13 @@
using System;
using System.IO;
using System.Numerics;
-using NUnit.Framework;
+using Xunit;
namespace MatFileHandler.Tests
{
///
/// Tests of file writing API.
///
- [TestFixture]
public class MatFileWriterTests
{
private const string TestDirectory = "test-data";
@@ -18,7 +17,7 @@ namespace MatFileHandler.Tests
///
/// Test writing a simple Double array.
///
- [Test]
+ [Fact]
public void TestWrite()
{
var builder = new DataBuilder();
@@ -33,7 +32,7 @@ namespace MatFileHandler.Tests
///
/// Test writing a large file.
///
- [Test]
+ [Fact]
public void TestHuge()
{
var builder = new DataBuilder();
@@ -52,7 +51,7 @@ namespace MatFileHandler.Tests
///
/// Test writing lower and upper limits of integer data types.
///
- [Test]
+ [Fact]
public void TestLimits()
{
var builder = new DataBuilder();
@@ -71,7 +70,7 @@ namespace MatFileHandler.Tests
///
/// Test writing lower and upper limits of integer-based complex data types.
///
- [Test]
+ [Fact]
public void TestLimitsComplex()
{
var builder = new DataBuilder();
@@ -110,7 +109,7 @@ namespace MatFileHandler.Tests
///
/// Test writing a wide-Unicode symbol.
///
- [Test]
+ [Fact]
public void TestUnicodeWide()
{
var builder = new DataBuilder();
@@ -122,7 +121,7 @@ namespace MatFileHandler.Tests
///
/// Test writing a sparse array.
///
- [Test]
+ [Fact]
public void TestSparseArray()
{
var builder = new DataBuilder();
@@ -139,7 +138,7 @@ namespace MatFileHandler.Tests
///
/// Test writing a structure array.
///
- [Test]
+ [Fact]
public void TestStructure()
{
var builder = new DataBuilder();
@@ -167,7 +166,7 @@ namespace MatFileHandler.Tests
///
/// Test writing a logical array.
///
- [Test]
+ [Fact]
public void TestLogical()
{
var builder = new DataBuilder();
@@ -180,7 +179,7 @@ namespace MatFileHandler.Tests
///
/// Test writing a sparse logical array.
///
- [Test]
+ [Fact]
public void TestSparseLogical()
{
var builder = new DataBuilder();
@@ -197,7 +196,7 @@ namespace MatFileHandler.Tests
///
/// Test writing a sparse complex array.
///
- [Test]
+ [Fact]
public void TestSparseComplex()
{
var builder = new DataBuilder();
@@ -213,7 +212,7 @@ namespace MatFileHandler.Tests
///
/// Test writing a global variable.
///
- [Test]
+ [Fact]
public void TestGlobal()
{
var builder = new DataBuilder();
@@ -229,16 +228,16 @@ namespace MatFileHandler.Tests
private void CompareSparseArrays(ISparseArrayOf expected, ISparseArrayOf actual)
where T : struct
{
- Assert.That(actual, Is.Not.Null);
- Assert.That(expected.Dimensions, Is.EqualTo(actual.Dimensions));
- Assert.That(expected.Data, Is.EquivalentTo(actual.Data));
+ Assert.NotNull(actual);
+ Assert.Equal(expected.Dimensions, actual.Dimensions);
+ Assert.Equal(expected.Data, actual.Data);
}
private void CompareStructureArrays(IStructureArray expected, IStructureArray actual)
{
- Assert.That(actual, Is.Not.Null);
- Assert.That(expected.Dimensions, Is.EqualTo(actual.Dimensions));
- Assert.That(expected.FieldNames, Is.EquivalentTo(actual.FieldNames));
+ Assert.NotNull(actual);
+ Assert.Equal(expected.Dimensions, actual.Dimensions);
+ Assert.Equal(expected.FieldNames, actual.FieldNames);
foreach (var name in expected.FieldNames)
{
for (var i = 0; i < expected.Count; i++)
@@ -250,8 +249,8 @@ namespace MatFileHandler.Tests
private void CompareCellArrays(ICellArray expected, ICellArray actual)
{
- Assert.That(actual, Is.Not.Null);
- Assert.That(expected.Dimensions, Is.EqualTo(actual.Dimensions));
+ Assert.NotNull(actual);
+ Assert.Equal(expected.Dimensions, actual.Dimensions);
for (var i = 0; i < expected.Count; i++)
{
CompareMatArrays(expected[i], actual[i]);
@@ -260,16 +259,16 @@ namespace MatFileHandler.Tests
private void CompareNumericalArrays(IArrayOf expected, IArrayOf actual)
{
- Assert.That(actual, Is.Not.Null);
- Assert.That(expected.Dimensions, Is.EqualTo(actual.Dimensions));
- Assert.That(expected.Data, Is.EqualTo(actual.Data));
+ Assert.NotNull(actual);
+ Assert.Equal(expected.Dimensions, actual.Dimensions);
+ Assert.Equal(expected.Data, actual.Data);
}
private void CompareCharArrays(ICharArray expected, ICharArray actual)
{
- Assert.That(actual, Is.Not.Null);
- Assert.That(expected.Dimensions, Is.EqualTo(actual.Dimensions));
- Assert.That(expected.String, Is.EqualTo(actual.String));
+ Assert.NotNull(actual);
+ Assert.Equal(expected.Dimensions, actual.Dimensions);
+ Assert.Equal(expected.String, actual.String);
}
private void CompareMatArrays(IArray expected, IArray actual)
@@ -357,7 +356,7 @@ namespace MatFileHandler.Tests
}
if (expected.IsEmpty)
{
- Assert.That(actual.IsEmpty, Is.True);
+ Assert.True(actual.IsEmpty);
return;
}
throw new NotSupportedException();
@@ -365,13 +364,13 @@ namespace MatFileHandler.Tests
private void CompareMatFiles(IMatFile expected, IMatFile actual)
{
- Assert.That(expected.Variables.Length, Is.EqualTo(actual.Variables.Length));
+ Assert.Equal(expected.Variables.Length, actual.Variables.Length);
for (var i = 0; i < expected.Variables.Length; i++)
{
var expectedVariable = expected.Variables[i];
var actualVariable = actual.Variables[i];
- Assert.That(expectedVariable.Name, Is.EqualTo(actualVariable.Name));
- Assert.That(expectedVariable.IsGlobal, Is.EqualTo(actualVariable.IsGlobal));
+ Assert.Equal(expectedVariable.Name, actualVariable.Name);
+ Assert.Equal(expectedVariable.IsGlobal, actualVariable.IsGlobal);
CompareMatArrays(expectedVariable.Value, actualVariable.Value);
}
}