public async Task ReadTwoBigEndianUnicodeStringsSeparatedByNullTermination() { byte[] ansiBytes = Encoding.BigEndianUnicode.GetPreamble().Concat(Encoding.BigEndianUnicode.GetBytes(Test + "\0")).Concat(Encoding.BigEndianUnicode.GetPreamble()).Concat(Encoding.BigEndianUnicode.GetBytes(Test)).ToArray(); var memoryStream = new MemoryStream(ansiBytes); Assert.AreEqual(Test, await memoryStream.ReadUnicodeStringAsync(ansiBytes.LongLength)); Assert.AreEqual(Test, await memoryStream.ReadUnicodeStringAsync(ansiBytes.LongLength)); }
public async Task ReadBigEndianUnicodeStringAndReachEndOfStream() { byte[] ansiBytes = Encoding.BigEndianUnicode.GetPreamble().Concat(Encoding.BigEndianUnicode.GetBytes(Test)).ToArray(); var memoryStream = new MemoryStream(ansiBytes); Assert.AreEqual(Test, await memoryStream.ReadUnicodeStringAsync(ansiBytes.LongLength)); }
public async Task ReadUnicodeStringAndReachNullTermination() { byte[] ansiBytes = Encoding.Unicode.GetPreamble().Concat(Encoding.Unicode.GetBytes(Test + "\0Garbage")).ToArray(); var memoryStream = new MemoryStream(ansiBytes); Assert.AreEqual(Test, await memoryStream.ReadUnicodeStringAsync(ansiBytes.LongLength)); }