### Question:
Helper { public static final String underScoreToCamelCase(String key) { if (key.isEmpty()) return key; StringBuilder sb = new StringBuilder(key.length()); for (int i = 0; i < key.length(); i++) { char c = key.charAt(i); if (c == '_') { i++; if (i < key.length()) sb.append(Character.toUpperCase(key.charAt(i))); else sb.append(c); } else sb.append(c); } return sb.toString(); } private  Helper(); static ArrayList<Integer> intListToArrayList(IntIndexedContainer from); static Locale getLocale(String param); static int countBitValue(int maxTurnCosts); static void loadProperties(Map<String, String> map, Reader tmpReader); static void saveProperties(Map<String, String> map, Writer tmpWriter); static List<String> readFile(String file); static List<String> readFile(Reader simpleReader); static String isToString(InputStream inputStream); static int idealIntArraySize(int need); static int idealByteArraySize(int need); static boolean removeDir(File file); static long getTotalMB(); static long getUsedMB(); static String getMemInfo(); static int getSizeOfObjectRef(int factor); static int getSizeOfLongArray(int length, int factor); static int getSizeOfObjectArray(int length, int factor); static void close(Closeable cl); static boolean isEmpty(String str); static boolean isFileMapped(ByteBuffer bb); static int calcIndexSize(BBox graphBounds); static String pruneFileEnd(String file); static List<Double> createDoubleList(double[] values); static IntArrayList createTList(int... list); static PointList createPointList(double... list); static PointList createPointList3D(double... list); static final int degreeToInt(double deg); static final double intToDegree(int storedInt); static final int eleToInt(double ele); static final double intToEle(int integEle); static void cleanMappedByteBuffer(final ByteBuffer buffer); static void cleanHack(); static String nf(long no); static String firstBig(String sayText); static final double keepIn(double value, double min, double max); static double round(double value, int exponent); static final double round6(double value); static final double round4(double value); static final double round2(double value); static DateFormat createFormatter(); static DateFormat createFormatter(String str); static final long toUnsignedLong(int x); static final int toSignedInt(long x); static final String camelCaseToUnderScore(String key); static final String underScoreToCamelCase(String key); static final DistanceCalc DIST_EARTH; static final DistanceCalc3D DIST_3D; static final DistancePlaneProjection DIST_PLANE; static final AngleCalc ANGLE_CALC; static final Charset UTF_CS; static final TimeZone UTC; static final long MB; }### Answer:
@Test public void testUnderscoreToCamelCase() { assertEquals("testCase", Helper.underScoreToCamelCase("test_case")); assertEquals("testCaseTBD", Helper.underScoreToCamelCase("test_case_t_b_d")); assertEquals("TestCase_", Helper.underScoreToCamelCase("_test_case_")); }