public void TestTokenHelp(int position, ushort expectedLengthBitCount, ushort expectedMaxLength, ushort expectedOffsetBitCount) { var result = CopyToken.CopyTokenHelp(position); Assert.Equal(expectedLengthBitCount, result.LengthBitCount); Assert.Equal(expectedMaxLength, result.MaximumLength); Assert.Equal(expectedOffsetBitCount, result.BitCount); }
public void GivenRangeOfPositionOffsetAndLengthPackingThenunPackingDataProducesTheOriginalParameters() { const int increment = 5; for (var position = 2; position < 4096; position = position + increment) { for (UInt16 offset = 1; offset < position; offset = (ushort)(offset + increment)) { var result = CopyToken.CopyTokenHelp(position); for (UInt16 length = 3; length <= result.MaximumLength; length = (ushort)(length + increment)) { var tokenData = CopyToken.Pack(position, offset, length); UInt16 actualOffset; UInt16 actualLength; CopyToken.UnPack(tokenData, position, out actualOffset, out actualLength); Assert.Equal(offset, actualOffset); Assert.Equal(length, actualLength); } } } }