### Question:
Varint { public static int writeSignedVarLong(long value, DataOutput out) throws IOException { return writeUnsignedVarLong((value << 1) ^ (value >> 63), out); } private  Varint(); static int writeSignedVarLong(long value, DataOutput out); static int writeUnsignedVarLong(long value, DataOutput out); static int writeSignedVarInt(int value, DataOutput out); static int writeUnsignedVarInt(int value, DataOutput out); static int writeUnsignedVarInt(int value, byte[] buff); static long readSignedVarLong(DataInput in); static long readUnsignedVarLong(DataInput in); static int readSignedVarInt(DataInput in); static int readUnsignedVarInt(DataInput in); static int readUnsignedVarInt(byte[] from);  }### Answer:
@Test public void writeSignedVarLongTest() throws IOException { checkSignedVarLong(Long.MIN_VALUE); checkSignedVarLong(Long.MAX_VALUE); checkSignedVarLong(0); checkSignedVarLong(1001); checkSignedVarLong(-1001); }