示例#1
0
        public void encodeUnsignedTest()
        {
            BFlat.Buffer buf = new BFlat.Buffer(new byte[10], 0);
            Assert.AreEqual(1, Leb128.encodeUnsigned(buf, 0));
            Assert.AreEqual(0, buf.data[0]);

            Assert.AreEqual(1, Leb128.encodeUnsigned(buf, 1));
            Assert.AreEqual(1, buf.data[1]);

            Assert.AreEqual(1, Leb128.encodeUnsigned(buf.rewind(), 127));
            Assert.AreEqual((byte)0x7f, buf.data[0]);

            Assert.AreEqual(2, Leb128.encodeUnsigned(buf.rewind(), 128));
            Assert.AreEqual((byte)0x80, buf.data[0]);
            Assert.AreEqual((byte)0x01, buf.data[1]);

            Leb128.encodeUnsigned(buf.rewind(), UInt64.MaxValue);
            Assert.AreEqual(UInt64.MaxValue, Leb128.decodeUnsigned(buf.rewind()));
        }