Exemple #1
0
        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);
        }
Exemple #2
0
        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);
                    }
                }
            }
        }