ICUHumanize { public static String spellNumber(final Number value) { return context.get().getRuleBasedNumberFormat(RuleBasedNumberFormat.SPELLOUT).format(value); } 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(threadPoolSize = 10, invocationCount = 10) public void spellNumberTest() { assertEquals(spellNumber(123), "one hundred twenty-three"); assertEquals(spellNumber(2840), "two thousand eight hundred forty"); assertEquals(spellNumber(1803), "one thousand eight hundred three"); assertEquals(spellNumber(1412605), "one million four hundred twelve thousand six hundred five"); assertEquals(spellNumber(2760300), "two million seven hundred sixty thousand three hundred"); assertEquals(spellNumber(999000), "nine hundred ninety-nine thousand"); assertEquals(spellNumber(23380000000L), "twenty-three billion three hundred eighty million"); assertEquals(spellNumber(23, ES), "veintitrés"); assertEquals(spellNumber(201256, ES), "doscientos un mil doscientos cincuenta y seis"); }