### Question:
Addresses { public static boolean greaterThan(long a, long b) { if (signBitsSame(a, b)) { return a > b; } else { return a < b; } }  static boolean greaterThan(long a, long b); static boolean greaterThanOrEqual(long a, long b); static boolean lessThan(long a, long b); static boolean lessThanOrEqual(long a, long b);  }### Answer:
@Test public void testGreaterThan() { assertTrue(Addresses.greaterThan(1, 0)); assertTrue(Addresses.greaterThan(Long.MAX_VALUE, Long.MAX_VALUE - 1)); assertFalse(Addresses.greaterThan(7, 8)); assertTrue(Addresses.greaterThan(0xFFFFFFFFFFFFFFFFL, 0)); assertTrue(Addresses.greaterThan(0xFFFFFFFFFFFFFFFFL, 0xFFFFFFFFFFFFFFFEL)); assertTrue(Addresses.greaterThan(0xFFFFFFFFFFFFFFFFL, 47)); assertFalse(Addresses.greaterThan(0xFFFFFFFFFFFFFFFFL, 0xFFFFFFFFFFFFFFFFL)); assertFalse(Addresses.greaterThan(0xFFFFFFFFFFFFFFFEL, 0xFFFFFFFFFFFFFFFFL)); assertFalse(Addresses.greaterThan(0, 0xFFFFFFFFFFFFFFFFL)); assertFalse(Addresses.greaterThan(1, 1)); assertTrue(Addresses.greaterThan(0xFFFFFFFFFFFFFFFFL, Long.MAX_VALUE)); }