### Question:
Integers { public static int highestOneBit(int i) { i |= (i >> 1); i |= (i >> 2); i |= (i >> 4); i |= (i >> 8); i |= (i >> 16); return (i & ~(i >>> 1)); }  static int decode(String string); static int parseInt(String string); static int parseInt(String string, int radix); static String toBinaryString(int i); static String toHexString(int i); static String toDecimalString(int value); static String toString(int value); static int highestOneBit(int i); static int lowestOneBit(int i); static int numberOfLeadingZeros(int i); static int numberOfTrailingZeros(int i); static int bitCount(int i); static int rotateLeft(int i, int distance); static int rotateRight(int i, int distance); static int reverseBytes(int i); static int reverse(int i); static int digit(char c, int radix); static final int MAX_VALUE; static final int MIN_VALUE; static final int MIN_RADIX; static final int MAX_RADIX; }### Answer:
@Test public void test_highestOneBitI() { assertEquals(0x08, Integers.highestOneBit(0x0A)); assertEquals(0x08, Integers.highestOneBit(0x0B)); assertEquals(0x08, Integers.highestOneBit(0x0C)); assertEquals(0x08, Integers.highestOneBit(0x0F)); assertEquals(0x80, Integers.highestOneBit(0xFF)); assertEquals(0x080000, Integers.highestOneBit(0x0F1234)); assertEquals(0x800000, Integers.highestOneBit(0xFF9977)); assertEquals(0x80000000, Integers.highestOneBit(0xFFFFFFFF)); assertEquals(0, Integers.highestOneBit(0)); assertEquals(1, Integers.highestOneBit(1)); assertEquals(0x80000000, Integers.highestOneBit(-1)); }