ICUHumanize { public static String replaceSupplementary(final String value) { return InterpolationHelper.replaceSupplementary(value, new Replacer() { public String replace(String in) { return Strings.nullToEmpty(UCharacter.getName(in, ", ")); } }); } private  ICUHumanize(); static String compactDecimal(final Number value); static String compactDecimal(final Number value, final CompactStyle style); static String compactDecimal(final Number value, final CompactStyle style, final Locale locale); static String compactDecimal(final Number value, final Locale locale); static DateFormat dateFormatInstance(final String pattern); static DateFormat dateFormatInstance(final String pattern, final Locale locale); static DecimalFormat decimalFormatInstance(final String pattern); static DecimalFormat decimalFormatInstance(final String pattern, final Locale locale); static String duration(final Number value); static String format(final String pattern, final Object... args); static String formatCurrency(final Number value); static String formatCurrency(final Number value, final Locale locale); static String formatDate(final Date value); static String formatDate(final Date value, final Locale locale); static String formatDate(final Date value, final String pattern); static String formatDate(final Date value, final String pattern, final Locale locale); static String formatDate(final int style, final Date value); static String formatDate(final int style, final Date value, final Locale locale); static String formatDateTime(final Date value); static String formatDateTime(final Date value, final Locale locale); static String formatDateTime(final int dateStyle, final int timeStyle, final Date value); static String formatDateTime(final int dateStyle, final int timeStyle, final Date value, final Locale locale); static String formatDecimal(final Number value); static String formatDecimal(final Number value, final Locale locale); static String formatPercent(final Number value); static String formatPercent(final Number value, final Locale locale); static String formatPluralCurrency(final Number value); static String formatPluralCurrency(final Number value, final Locale locale); static MessageFormat messageFormatInstance(final String pattern); static MessageFormat messageFormatInstance(final String pattern, final Locale locale); static String naturalDay(final Date value); static String naturalDay(final Date value, final Locale locale); static String naturalDay(final int style, final Date value); static String naturalTime(final Date duration); static String naturalTime(final Date reference, final Date duration); static String naturalTime(final Date reference, final Date duration, final Locale locale); static String naturalTime(final Date duration, final Locale locale); static String ordinalize(final Number value); static String ordinalize(final Number value, final Locale locale); static Number parseNumber(final String text); static Number parseNumber(final String text, final Locale locale); static String pluralize(final Locale locale, final String pattern, final Number value,
            final Object... args); static String pluralize(final String pattern, final Number value, final Object... args); static String replaceSupplementary(final String value); static String smartDateFormat(final Date value, final String skeleton); static String smartDateFormat(final Date value, final String skeleton, final Locale locale); static String spellNumber(final Number value); static String spellNumber(final Number value, final Locale locale); static String transliterate(final String text); static String transliterate(final String text, final String id);  }
@Test public void replaceSupplementaryTest() { assertEquals( replaceSupplementary("The first three letters of the Gothic alphabet are: \uD800\uDF30 \uD800\uDF31 \uD800\uDF32 and not"), "The first three letters of the Gothic alphabet are: GOTHIC LETTER AHSA GOTHIC LETTER BAIRKAN GOTHIC LETTER GIBA and not"); assertEquals(replaceSupplementary("A normal string"), "A normal string"); assertEquals(replaceSupplementary(new StringBuilder().appendCodePoint(0x1F60A).toString()), "SMILING FACE WITH SMILING EYES"); }