public unsafe void CharPeek() { byte[] data; using (MemoryStream ms = new MemoryStream()) { using (BinaryWriter writer = new BinaryWriter(ms)) for (int count = 0; count < 0xD800; count++) { writer.Write((char)count); } data = ms.ToArray(); } fixed(byte *pData = data) { BinaryMemoryReader reader = new BinaryMemoryReader(pData, data.Length); for (int count = 0; count < 0xD800; count++) { Assert.AreEqual(reader.PeekChar(), (char)count, "BinaryMemoryReader Char incompatible to BinaryWriter."); reader.ReadChar(); } } }
protected bool IsEOF(BinaryMemoryReader reader) { return reader.PeekChar() == -1; }