public void SByte0() { var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); writer.i8(0); writer.i8(0); writer.i8(0); writer.i8(0); Assert.AreEqual(4, writer.LengthWritten); }
public void i8ReadWriteLimits() { var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); writer.i8(13, 0, 14); writer.i8(2, 4); var bitsWritten = writer.BitsWritten; var data = writer.ToArray(); var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >(); reader.CopyFrom(data); Assert.AreEqual(13, reader.i8(0, 14)); Assert.AreEqual(2, reader.i8(4)); Assert.AreEqual(bitsWritten, reader.BitsRead); }
private void i8ReadWrite <TEncoder, TDecoder>() where TEncoder : struct, ICompression <RawBitWriter <u32ArrayMemory> > where TDecoder : struct, IDecompression <RawBitReader <u32ArrayMemory> > { var writer = new BitBufferWriter <TEncoder>(); writer.i8(i8.MinValue); i8 half = i8.MaxValue / 2; writer.i8(half); writer.i8(i8.MaxValue); var data = writer.ToArray(); var reader = new BitBufferReader <TDecoder>(); reader.CopyFrom(data); Assert.AreEqual(i8.MinValue, reader.i8()); Assert.AreEqual(half, reader.i8Peek()); Assert.AreEqual(half, reader.i8()); Assert.AreEqual(i8.MaxValue, reader.i8()); }
public void SByteZeroMax4() { var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >(); writer.i8(sbyte.MaxValue, 0, sbyte.MaxValue); writer.i8(sbyte.MaxValue, 0, sbyte.MaxValue); writer.i8(sbyte.MaxValue, 0, sbyte.MaxValue); writer.i8(sbyte.MaxValue, 0, sbyte.MaxValue); writer.i8(sbyte.MaxValue, 0, sbyte.MaxValue); writer.i8(sbyte.MaxValue, 0, sbyte.MaxValue); writer.i8(sbyte.MaxValue, 0, sbyte.MaxValue); writer.i8(sbyte.MaxValue, 0, sbyte.MaxValue); Assert.AreEqual(7, writer.LengthWritten); }