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"); }
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"); }