public void TestSignedLEB128(long value) { var stream = new MemoryStream(); { // check positive stream.WriteILEB128(value); Assert.AreEqual((uint)stream.Position, DwarfHelper.SizeOfILEB128(value)); stream.Position = 0; var readbackValue = stream.ReadSignedLEB128(); Assert.AreEqual(value, readbackValue); } { stream.Position = 0; // Check negative value = -value; stream.WriteILEB128(value); Assert.AreEqual((uint)stream.Position, DwarfHelper.SizeOfILEB128(value)); stream.Position = 0; var readbackValue = stream.ReadSignedLEB128(); Assert.AreEqual(value, readbackValue); } }