### Question:
Longs { public static String toBinaryString(long l) { int count = 1; long j = l; if (l < 0) { count = 64; } else { while ((j >>= 1) != 0) { count++; } } char[] buffer = new char[count]; do { buffer[--count] = (char) ((l & 1) + '0'); l >>= 1; } while (count > 0); return new String(buffer); }  static long decode(String string); static long parseLong(String string); static long parseLong(String string, int radix); static String toBinaryString(long l); static String toHexString(long l); static String toString(long l); static long highestOneBit(long lng); static long lowestOneBit(long lng); static int numberOfLeadingZeros(long lng); static int numberOfTrailingZeros(long lng); static int bitCount(long lng); static long rotateLeft(long lng, int distance); static long rotateRight(long lng, int distance); static long reverseBytes(long lng); static long reverse(long lng); static final long MAX_VALUE; static final long MIN_VALUE; }### Answer:
@Test public void test_toBinaryStringJ() { assertEquals("Incorrect binary string returned", "11011001010010010000", Longs.toBinaryString(890000L)); assertEquals("Incorrect binary string returned", "1000000000000000000000000000000000000000000000000000000000000000", Longs.toBinaryString(Longs.MIN_VALUE) ); assertEquals("Incorrect binary string returned", "111111111111111111111111111111111111111111111111111111111111111", Longs.toBinaryString(Longs.MAX_VALUE) ); }