public void BeginEndRead_CorrectPosition() { byte[] bytes = new byte[] { 1, 200, 3, 4, 5 }; var stream = new RvaStream(new MemoryStream(bytes), new RvaStream.Range { PhysicalAddress = 0, VirtualAddress = 34, Size = 5 }); stream.Position = 34; byte[] result = new byte[4]; var ar = stream.BeginRead( result, 0, 4, ar_ => { }, null); stream.EndRead(ar); Assert.AreEqual(34 + 4, (int)stream.Position); }
public void BeginEndRead_CorrectResult() { byte[] bytes = new byte[] { 1, 200, 3, 4, 5 }; var stream = new RvaStream(new MemoryStream(bytes), new RvaStream.Range { PhysicalAddress = 0, VirtualAddress = 34, Size = 5 }); stream.Position = 34; byte[] result = new byte[5]; var ar = stream.BeginRead( result, 0, 5, ar_ => { }, null); stream.EndRead(ar); Assert.AreEqual(bytes.Length, result.Length, "result.Length"); for (int i = 0; i < result.Length; i++) { Assert.AreEqual(bytes[i], result[i], "result[" + i + "]"); } }