Exemple #1
0
        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);
        }