### Question:
Varint { public static int writeSignedVarInt(int value, DataOutput out) throws IOException { return writeUnsignedVarInt((value << 1) ^ (value >> 31), 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 writeSignedVarIntTest() throws IOException { checkSignedVarInt(Integer.MIN_VALUE); checkSignedVarInt(Integer.MAX_VALUE); checkSignedVarInt(0); checkSignedVarInt(1001); checkSignedVarInt(-1001); }