public void u8ArrayMaxWriteRead() { var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); var input = new byte[writer.Options.U8SpanLengthMax]; writer.u8(input); var allocated = new byte[ushort.MaxValue]; writer.ToSpan(allocated); var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >(allocated.Length); reader.CopyFrom(allocated); Assert.AreEqual(writer.Options.U8SpanLengthMax, reader.u8SpanLengthPeek()); }
public void u8ArrayWriteRead() { var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); var input = new byte[] { 1, 2, 3, 4, 5 }; writer.u8(input); writer.Align(); var allocated = new u8[ushort.MaxValue]; writer.ToSpan(allocated); var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >(allocated.Length); reader.CopyFrom(allocated); var output = new byte[5]; var lengthPeek = reader.u8SpanLengthPeek(); var length = reader.u8(output); Assert.AreEqual(lengthPeek, length); Assert.AreEqual(input, output); }