Ejemplo n.º 1
0
        public void MaxLong()
        {
            var x = "ffffffffffffffff7f".ToHexBuffer();

            Assert.AreEqual(9, Varint.RequiredBytes(long.MaxValue));
            CollectionAssert.AreEqual(x, Varint.Encode(long.MaxValue));
            Assert.AreEqual(long.MaxValue, Varint.DecodeInt64(x));
        }
Ejemplo n.º 2
0
        public void ThreeHundred()
        {
            var x = new byte[] { 0xAC, 0x02 };

            Assert.AreEqual(2, Varint.RequiredBytes(300));
            CollectionAssert.AreEqual(x, Varint.Encode(300));
            Assert.AreEqual(300, Varint.DecodeInt32(x));
        }
Ejemplo n.º 3
0
        public void Zero()
        {
            var x = new byte[] { 0 };

            Assert.AreEqual(1, Varint.RequiredBytes(0));
            CollectionAssert.AreEqual(x, Varint.Encode(0));
            Assert.AreEqual(0, Varint.DecodeInt32(x));
        }
Ejemplo n.º 4
0
 public void Example()
 {
     for (long v = 1; v <= 0xFFFFFFFL; v = v << 4)
     {
         Console.Write($"| {v} (0x{v.ToString("x")}) ");
         Console.WriteLine($"| {Varint.Encode(v).ToHexString()} |");
     }
 }
Ejemplo n.º 5
0
        public void TooBig_Int32()
        {
            var bytes = Varint.Encode((long)Int32.MaxValue + 1);

            ExceptionAssert.Throws <InvalidDataException>(() => Varint.DecodeInt32(bytes));
        }
Ejemplo n.º 6
0
 public void Encode_Negative()
 {
     ExceptionAssert.Throws <NotSupportedException>(() => Varint.Encode(-1));
 }