public unsafe void BytesRead() { Random rng = new Random(); byte[] src = new byte[1024]; byte[] chk = new byte[1024]; rng.NextBytes(src); byte[] data; using (MemoryStream ms = new MemoryStream()) { using (BinaryWriter writer = new BinaryWriter(ms)) for (int count = 0; count < 256; count++) { writer.Write(src); } data = ms.ToArray(); } fixed(byte *pData = data) { UnsafeBinaryMemoryReader reader = new UnsafeBinaryMemoryReader(pData); for (int count = 0; count < 256; count++) { reader.ReadBytes(chk, 0, 1024); for (int position = 0; position < 1024; position++) { Assert.AreEqual(chk[position], src[position], $"Invalid content at position {position}."); } } } }