コード例 #1
0
        public void KeepsInitialRVA()
        {
            var stream = new MemoryStream();

            stream.WriteByte(2);
            stream.WriteByte(1);
            stream.WriteByte(0);

            var rw    = new StreamStructReaderWriter(stream);
            var read  = rw.Read <TestStruct1>(rw.Write(_testStruct1));
            var read2 = rw.Read <TestStruct2>(rw.Write(_testStruct2));

            Assert.AreEqual(_testStruct1, read, $"Can not read struct of type {nameof(TestStruct1)} correctly after writing it");
            Assert.AreEqual(_testStruct2, read2, $"Can not read struct of type {nameof(TestStruct2)} correctly after writing it");
        }
コード例 #2
0
        private void CanWriteAndRead <T>(T testValue) where T : struct
        {
            var stream = new MemoryStream();
            var rw     = new StreamStructReaderWriter(stream);

            rw.Write(testValue);
            var readStruct = rw.Read <T>(0);

            Assert.AreEqual(testValue, readStruct, $"Can not read struct of type {typeof(T).Name} after writing it");
        }