### Question:
Strings { public static String trim(String target) { if (isEmpty(target)) return target; String result = HEAD_BLANK_PATTERN.matcher(target).replaceAll(""); result = TAIL_BLANK_PATTERN.matcher(result).replaceAll(""); return result; } private  Strings(); static String substitute(String string, Map<String, ? extends Object> replace); static String substitute(String string, Map<String, ? extends Object> replace, Locale locale); static String findPlaceHolder(String string); static String clearEscapedPlaceHolder(String dirty); static T proper(T returnIfNotEmpty, T alternative); static String toCamel(String snake); static String toSnake(String camel); static String join(T... joinees); static String joinBy(String separator, T... joinees); static String join(List<T> joinees); static String joinBy(String separator, List<T> joinees); static boolean isBlank(CharSequence suspect); static boolean containBlank(CharSequence suspect); static String removeBlanks(CharSequence target); static boolean isEmpty(CharSequence suspect); static boolean isEmpty(CharSequence suspect, boolean removeBlanks); static String reverse(String reversee); static String trim(String target); static String[] split(String regex, String target); static boolean equalsIgnoreCase(String source, String destination); static boolean startsWith(String text, String prefix); static boolean startsWith(String text, String prefix, boolean textCompare); static boolean endsWith(String text, String prefix); static boolean endsWith(String text, String prefix, boolean textCompare); static String escapeHTML(CharSequence html); static String escapeRegex(CharSequence text);  }### Answer:
@Test public void trimテスト() { assertThat(Strings.trim(null), nullValue()); assertThat(Strings.trim(""), is("")); final String[] seeds = { "abcdefg", "あいうえお", " abcdefg", "abcdefg ", " あいうえお", "あいうえお ", " abcdefg", "abcdefg ", " あいうえお", "あいうえお ", " abcdefg", "abcdefg ", " あいうえお", "あいうえお ", " abcdefg", "abcdefg ", " あいうえお", "あいうえお ", " abc defg", "abc defg ", " あい うえお", "あい うえお " }; final String[] expects = { "abcdefg", "あいうえお", "abcdefg", "abcdefg", "あいうえお", "あいうえお", "abcdefg", "abcdefg", "あいうえお", "あいうえお", "abcdefg", "abcdefg", "あいうえお", "あいうえお", "abcdefg", "abcdefg", "あいうえお", "あいうえお", "abc defg", "abc defg", "あい うえお", "あい うえお", }; Arrays.each(seeds, new EachCall<String>() { public void each(String e, int i, int t) { String s = Strings.trim(e); assertEquals("loop: " + i, expects[i], s); } }); }