Better treatment of embedded objects
This commit is contained in:
parent
f56508c3ad
commit
6069d16c07
@ -390,6 +390,31 @@ namespace MatFileHandler.Tests
|
|||||||
Assert.Equal(new[] { 1.0, 3.0, 5.0, 2.0, 4.0, 6.0 }, variable2.ConvertToDoubleArray());
|
Assert.Equal(new[] { 1.0, 3.0, 5.0, 2.0, 4.0, 6.0 }, variable2.ConvertToDoubleArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Test reading a table with strings
|
||||||
|
/// </summary>
|
||||||
|
[Fact]
|
||||||
|
public void TestTableWithStrings()
|
||||||
|
{
|
||||||
|
var matFile = GetTests("good")["table-with-strings"];
|
||||||
|
var obj = matFile["t"].Value as IMatObject;
|
||||||
|
var table = new TableAdapter(obj);
|
||||||
|
Assert.Equal(5, table.NumberOfRows);
|
||||||
|
Assert.Equal(2, table.NumberOfVariables);
|
||||||
|
Assert.Equal(new[] { "Numbers", "Names" }, table.VariableNames);
|
||||||
|
var variable = table["Names"] as ICellArray;
|
||||||
|
var name0 = new StringAdapter(variable[0]);
|
||||||
|
Assert.Equal("One", name0[0]);
|
||||||
|
var name1 = new StringAdapter(variable[1]);
|
||||||
|
Assert.Equal("Two", name1[0]);
|
||||||
|
var name2 = new StringAdapter(variable[2]);
|
||||||
|
Assert.Equal("Three", name2[0]);
|
||||||
|
var name3 = new StringAdapter(variable[3]);
|
||||||
|
Assert.Equal("Four", name3[0]);
|
||||||
|
var name4 = new StringAdapter(variable[4]);
|
||||||
|
Assert.Equal("Five", name4[0]);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Test subobjects within objects.
|
/// Test subobjects within objects.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
BIN
MatFileHandler.Tests/test-data/good/table-with-strings.mat
Normal file
BIN
MatFileHandler.Tests/test-data/good/table-with-strings.mat
Normal file
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFrameworks>netstandard2.0;net461;net472</TargetFrameworks>
|
<TargetFrameworks>netstandard2.0;net461;net472</TargetFrameworks>
|
||||||
<PackageVersion>1.4.0-beta3</PackageVersion>
|
<PackageVersion>1.4.0-beta4</PackageVersion>
|
||||||
<PackageId>MatFileHandler</PackageId>
|
<PackageId>MatFileHandler</PackageId>
|
||||||
<Title>A library for reading and writing MATLAB .mat files.</Title>
|
<Title>A library for reading and writing MATLAB .mat files.</Title>
|
||||||
<Authors>Alexander Luzgarev</Authors>
|
<Authors>Alexander Luzgarev</Authors>
|
||||||
|
@ -334,6 +334,16 @@ namespace MatFileHandler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (array is MatCellArray cellArray)
|
||||||
|
{
|
||||||
|
for (var i = 0; i < cellArray.Data.Length; i++)
|
||||||
|
{
|
||||||
|
var cell = cellArray.Data[i];
|
||||||
|
var transformedCell = TransformOpaqueData(cell, subsystemData);
|
||||||
|
cellArray.Data[i] = transformedCell;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user