Beispiel #1
0
 public void TestShorts()
 {
     var a = new VarInt(64000);
     Assert.AreEqual(3, a.SizeInBytes);
     Assert.AreEqual(3, a.Encode().Length);
     Assert.AreEqual(64000UL, new VarInt(a.Encode(), 0).Value);
 }
Beispiel #2
0
 public void TestBytes()
 {
     var a = new VarInt(10);
     Assert.AreEqual(1, a.SizeInBytes);
     Assert.AreEqual(1, a.Encode().Length);
     Assert.AreEqual(10UL, new VarInt(a.Encode(), 0).Value);
 }
Beispiel #3
0
 public void TestLong()
 {
     var a = new VarInt(0xCAFEBABEDEADBEEF);
     Assert.AreEqual(9, a.SizeInBytes);
     Assert.AreEqual(9, a.Encode().Length);
     var bytes = a.Encode();
     Assert.AreEqual(0xCAFEBABEDEADBEEF, new VarInt(bytes, 0).Value);
 }
Beispiel #4
0
 public void TestInts()
 {
     var a = new VarInt(0xAABBCCDD);
     Assert.AreEqual(5, a.SizeInBytes);
     Assert.AreEqual(5, a.Encode().Length);
     var bytes = a.Encode();
     Assert.AreEqual(0xAABBCCDD, new VarInt(bytes, 0).Value);
 }
 internal ulong ReadVarInt()
 {
     var varint = new VarInt(Bytes, Cursor);
     Cursor += varint.SizeInBytes;
     return varint.Value;
 }
 internal string ReadString()
 {
     var varInt = new VarInt(Bytes, Cursor);
     if (varInt.Value == 0)
     {
         Cursor += 1;
         return string.Empty;
     }
     var characters = new byte[varInt.Value];
     Array.Copy(Bytes, Cursor, characters, 0, characters.Length);
     Cursor += varInt.SizeInBytes;
     return Encoding.UTF8.GetString(characters, 0, characters.Length);
 }