### Question:
B2StringUtil { @SuppressWarnings("SameParameterValue") static boolean allDecimal(String str, int startIndex, int endIndex) { B2Preconditions.checkArgument(startIndex <= endIndex); for (int i = startIndex; i < endIndex; i++) { if (!isDecimalDigitChar(str.charAt(i))) { return false; } } return true; } B2StringUtil(); static String percentEncode(String s); static String percentDecode(String s); static int decimalSubstringToInt(String s, int startIndex, int endIndex); static boolean decimalNumberInRange(String str, int offset, int length,
                                               int minInclusive, int maxInclusive); static String join(String delimiter, Object[] objects); static byte [] getUtf8Bytes(String str); static String toHexString(byte[] b); static String underscoresToCamelCase(String orig, boolean capitalizeFirstLetter); static boolean startsWithIgnoreCase(String all, String possiblePrefix); static final String UTF8; }### Answer:
@Test public void testAllDecimal() { assertTrue(allDecimal("", 0, 0)); assertTrue(allDecimal("a123b", 1, 4)); assertTrue(!allDecimal("a123b", 0, 4)); assertTrue(!allDecimal("a123b", 1, 5)); }