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); }
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); }
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); }
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); }