private static void AssertPackDU(UInt64 value, byte expectedLength) { var actualLength = BinaryPV64Packer.GetULength(value); Assert.Equal(expectedLength, actualLength); using (var stream = new MemoryStream()) { BinaryPV64Packer.PackU(stream, value, actualLength); stream.Seek(0, SeekOrigin.Begin); var actual = BinaryPV64Packer.UnpackU(stream, actualLength); Assert.Equal(value, actual); } }
public bool TryVisitValue(VisitArgs args, out ulong?value) { if (args.Index > 0 && !MoveToIndex(args.Index)) { value = null; return(false); } var length = _reader.ReadByte(); if (length == BinaryZPacker.Null) { value = null; return(true); } value = BinaryPV64Packer.UnpackU(_stream, length); return(true); }