public static void AssertWriteThenReadIsSame <TRow>(TRow expected, SerializedMetadataTable <TRow> .ReadRowExtendedDelegate readRow) where TRow : struct, IMetadataRow { var tablesStream = new TablesStream(); var table = tablesStream.GetTable <TRow>(); using var tempStream = new MemoryStream(); expected.Write(new BinaryStreamWriter(tempStream), table.Layout); var newRow = readRow(new PEReaderContext(new PEFile()), new ByteArrayReader(tempStream.ToArray()), table.Layout); Assert.Equal(expected, newRow); }
public static void AssertWriteThenReadIsSame <TRow>(TRow expected, SerializedMetadataTable <TRow> .ReadRowDelegate readRow) where TRow : struct, IMetadataRow { var tablesStream = new TablesStream(); var table = tablesStream.GetTable <TRow>(); using var tempStream = new MemoryStream(); expected.Write(new BinaryStreamWriter(tempStream), table.Layout); var reader = ByteArrayDataSource.CreateReader(tempStream.ToArray()); var newRow = readRow(ref reader, table.Layout); Assert.Equal(expected, newRow); }