Lines Matching +full:- +full:bi1
5 * Copyright (c) 1997-2016, International Business Machines Corporation and
86 errcheckln(status, UnicodeString("FAIL: ") + str + " - " + u_errorName(status)); \
92 dataerrln(UnicodeString("FAIL: ") + str + " - " + u_errorName(status)); \
109 // Upgrade to alphaWorks - liu 5/99 in runIndexedTest()
258 // -------------------------------------
268 dataerrln("unable to create format object - %s", u_errorName(status)); in TestAPI()
271 test->setMinimumIntegerDigits(10); in TestAPI()
272 test->setMaximumIntegerDigits(1); in TestAPI()
274 test->setMinimumFractionDigits(10); in TestAPI()
275 test->setMaximumFractionDigits(1); in TestAPI()
280 test->format(bla, result, pos, status); in TestAPI()
289 test->format(ll, result); in TestAPI()
292 test->setMinimumIntegerDigits(4); in TestAPI()
293 test->setMinimumFractionDigits(4); in TestAPI()
296 test->format(ll, result); in TestAPI()
300 LocalPointer<CurrencyAmount> currAmt(test->parseCurrency("",ppos)); in TestAPI()
363 dfs.setSymbol(DecimalFormatSymbols::kExponentialSymbol, u"⁑⁑"); // tests multi-char sequence in TestLocalizedPatternSymbolCoverage()
367 UnicodeString standardPattern(u"#,##0.05+%;#,##0.05-%"); in TestLocalizedPatternSymbolCoverage()
407 …if (U_FAILURE(status)) { errcheckln(status, "FAIL: Could not construct DecimalFormatSymbols - %s",… in TestPatterns()
435 DecimalFormat df(u"0.00 ; -0.00", {"en-us", status}, status); in Test20186_SpacesAroundSemicolon()
437 expect2(df, -1, u" -1.00"); in Test20186_SpacesAroundSemicolon()
439 df = DecimalFormat(u"0.00;", {"en-us", status}, status); in Test20186_SpacesAroundSemicolon()
441 expect2(df, -1, u"-1.00"); in Test20186_SpacesAroundSemicolon()
443 df = DecimalFormat(u"0.00;0.00", {"en-us", status}, status); in Test20186_SpacesAroundSemicolon()
445 expect(df, -1, u"1.00"); // parses as 1, not -1 in Test20186_SpacesAroundSemicolon()
447 df = DecimalFormat(u" 0.00 ; -0.00 ", {"en-us", status}, status); in Test20186_SpacesAroundSemicolon()
449 expect2(df, -1, u" -1.00 "); in Test20186_SpacesAroundSemicolon()
476 // -------------------------------------
484 … { errcheckln(status, "FAIL: Bad status returned by DecimalFormatSymbols ct - %s", u_errorName(sta… in TestExponential()
490 // S/390 doubles have an exponent range of -78 to +75. For the in TestExponential()
492 // DBL_MAX_10_EXP to be a compile-time constant. in TestExponential()
497 double val[] = { 0.01234, 123456789, 1.23e300, -3.141592653e-271 }; in TestExponential()
502 "1.234E-2", "1.2346E8", "1.23E300", "-3.1416E-271", in TestExponential()
504 "12.340E-03", "12.346E07", "12.300E299", "-31.416E-272", in TestExponential()
506 "12.34E-003", "123.4568E006", "1.23E300", "-314.1593E-273", in TestExponential()
508 "1.234E-2", "1.235E8", "1.23E300", "[3.142E-271]" in TestExponential()
512 0.01234, 123460000, 1.23E300, -3.1416E-271, in TestExponential()
513 0.01234, 123460000, 1.23E300, -3.1416E-271, in TestExponential()
514 0.01234, 123456800, 1.23E300, -3.141593E-271, in TestExponential()
515 0.01234, 123500000, 1.23E300, -3.142E-271, in TestExponential()
518 double val[] = { 0.01234, 123456789, 1.23e70, -3.141592653e-71 }; in TestExponential()
523 "1.234E-2", "1.2346E8", "1.23E70", "-3.1416E-71", in TestExponential()
525 "12.340E-03", "12.346E07", "12.300E69", "-31.416E-72", in TestExponential()
527 "12.34E-003", "123.4568E006", "12.3E069", "-31.41593E-072", in TestExponential()
529 "1.234E-2", "1.235E8", "1.23E70", "[3.142E-71]" in TestExponential()
533 0.01234, 123460000, 1.23E70, -3.1416E-71, in TestExponential()
534 0.01234, 123460000, 1.23E70, -3.1416E-71, in TestExponential()
535 0.01234, 123456800, 1.23E70, -3.141593E-71, in TestExponential()
536 0.01234, 123500000, 1.23E70, -3.142E-71, in TestExponential()
547 int32_t lval[] = { 0, -1, 1, 123456789 }; in TestExponential()
552 "0E0", "-1E0", "1E0", "1.2346E8", in TestExponential()
554 "00.000E00", "-10.000E-01", "10.000E-01", "12.346E07", in TestExponential()
556 "0E000", "-1E000", "1E000", "123.4568E006", in TestExponential()
562 0, -1, 1, 123460000, in TestExponential()
563 0, -1, 1, 123460000, in TestExponential()
564 0, -1, 1, 123456800, in TestExponential()
565 0, -1, 1, 123500000, in TestExponential()
573 logln((UnicodeString)"Pattern \"" + pat[p] + "\" -toPattern-> \"" + in TestExponential()
579 logln((UnicodeString)" " + val[v] + " -format-> " + s); in TestExponential()
594 //| -3.141592652999999e-271 -format-> -3.1416E-271 in TestExponential()
595 //| -parse-> -3.1416e-271 in TestExponential()
596 //| FAIL: Expected -3.141599999999999e-271 in TestExponential()
597 // To compensate, we use an epsilon-based equality in TestExponential()
604 … errln(UnicodeString("FAIL: Non-numeric Formattable returned: ") + pattern + " " + s); in TestExponential()
609 logln((UnicodeString)" -parse-> " + a); in TestExponential()
612 (uprv_fabs(a - valParse[v+ival]) / a > (2*DBL_EPSILON))) || in TestExponential()
620 errln((UnicodeString)"FAIL: Partial parse (" + pos.getIndex() + " chars) -> " + a); in TestExponential()
621 … errln((UnicodeString)" should be (" + s.length() + " chars) -> " + valParse[v+ival]); in TestExponential()
628 logln((UnicodeString)" " + lval[v] + "L -format-> " + s); in TestExponential()
641 logln((UnicodeString)" -parse-> " + a); in TestExponential()
646 … errln((UnicodeString)"FAIL: Partial parse (" + pos.getIndex() + " chars) -> " + a); in TestExponential()
649 errln((UnicodeString)"FAIL: Non-long Formattable returned for " + s in TestExponential()
666 fmt->setScientificNotation(TRUE); in TestScientific2()
668 fmt->setScientificNotation(FALSE); in TestScientific2()
680 expect(fmt, .01234, "12.3E-3"); in TestScientificGrouping()
681 expect(fmt, .1234, "123E-3"); in TestScientificGrouping()
694 if (c == '-') {
715 dataerrln("Error creating DecimalFormat - %s", u_errorName(status)); in TestInt64()
721 expect(fmt, (Formattable)(int64_t)-1, "-1E0"); in TestInt64()
724 expect(fmt, (Formattable)((int64_t)-2147483647-1), "-2.147483648E9"); in TestInt64()
726 expect(fmt, (Formattable)(int64_t)U_INT64_MIN, "-9.223372036854775808E18"); in TestInt64()
733 const char* int64minstr = "-9223372036854775808"; in TestInt64()
757 errln(fail + "-" + int64maxstr + " didn't fit"); in TestInt64()
760 if (int64Value != -int64max) { in TestInt64()
761 errln(fail + "-" + int64maxstr); in TestInt64()
765 if (int64Value != -int64max) { in TestInt64()
766 errln(fail + "-" + int64maxstr); in TestInt64()
773 errln(fail + "-" + int64minstr + " didn't fit"); in TestInt64()
789 errln(fail + "-(" + int64minstr + ") didn't fit"); in TestInt64()
794 // -------------------------------------
804 errcheckln(status, "Fail to create DecimalFormatSymbols - %s", u_errorName(status)); in TestQuotes()
811 ((NumberFormat*)fmt)->format((int32_t)123, s); in TestQuotes()
813 logln((UnicodeString)" Format 123 -> " + escape(s)); in TestQuotes()
823 ((NumberFormat*)fmt)->format((int32_t)123, s); in TestQuotes()
825 logln((UnicodeString)" Format 123 -> " + escape(s)); in TestQuotes()
844 errcheckln(status, "Fail to create DecimalFormatSymbols - %s", u_errorName(status)); in TestCurrencySign()
848 // "\xA4#,##0.00;-\xA4#,##0.00" in TestCurrencySign()
849 pat.append(currency).append("#,##0.00;-"). in TestCurrencySign()
852 UnicodeString s; ((NumberFormat*)fmt)->format(1234.56, s); in TestCurrencySign()
854 logln((UnicodeString)"Pattern \"" + fmt->toPattern(pat) + "\""); in TestCurrencySign()
855 logln((UnicodeString)" Format " + 1234.56 + " -> " + escape(s)); in TestCurrencySign()
858 ((NumberFormat*)fmt)->format(- 1234.56, s); in TestCurrencySign()
859 logln((UnicodeString)" Format " + (-1234.56) + " -> " + escape(s)); in TestCurrencySign()
860 if (s != "-$1,234.56") dataerrln((UnicodeString)"FAIL: Expected -$1,234.56"); in TestCurrencySign()
863 // "\xA4\xA4 #,##0.00;\xA4\xA4 -#,##0.00" in TestCurrencySign()
867 append(" -#,##0.00"); in TestCurrencySign()
870 ((NumberFormat*)fmt)->format(1234.56, s); in TestCurrencySign()
871 logln((UnicodeString)"Pattern \"" + fmt->toPattern(pat) + "\""); in TestCurrencySign()
872 logln((UnicodeString)" Format " + 1234.56 + " -> " + escape(s)); in TestCurrencySign()
875 ((NumberFormat*)fmt)->format(-1234.56, s); in TestCurrencySign()
876 logln((UnicodeString)" Format " + (-1234.56) + " -> " + escape(s)); in TestCurrencySign()
877 if (s != "USD -1,234.56") dataerrln((UnicodeString)"FAIL: Expected USD -1,234.56"); in TestCurrencySign()
883 // -------------------------------------
885 static UChar toHexString(int32_t i) { return (UChar)(i + (i < 10 ? 0x30 : (0x41 - 10))); } in toHexString()
907 // -------------------------------------
921 {"en-US-u-cu-jpy", "\\u00A51,150"}
936 UnicodeString s; currencyFmt->format(1.50, s); in TestCurrency()
946 currencyFmt->format(1.50, s); in TestCurrency()
954 currencyFmt->format(1.50, s); in TestCurrency()
965 UnicodeString expected(testCases[i][1], -1, US_INV); in TestCurrency()
975 currencyFmt->format(1150.50, s); in TestCurrency()
988 // -------------------------------------
999 dataerrln("FAIL: getCurrencyInstance(US) - %s", u_errorName(ec)); in TestCurrencyObject()
1046 // -------------------------------------
1058 Formattable n; format->parse(arg, n, status); in TestParse()
1070 // -------------------------------------
1080 "-5",
1096 // changed from () to - per cldrbug 5674
1098 "-$1,000",
1099 "-$ 1,000",
1100 "-$1000",
1101 "-$ 1000",
1102 "-$1 000.00",
1103 "-$ 1 000.00",
1104 "- $ 1,000.00 ",
1105 "-$ 1\\u00A0000.00",
1106 "-1000.00"
1119 "-25%",
1120 " -25%",
1121 " - 25%",
1122 "- 25 %",
1123 " - 25 %",
1124 "-25 %",
1125 "-25\\u00A0%",
1126 "-25",
1127 "- 25"
1147 dataerrln("Unable to create DecimalFormat (#,##0) - %s", u_errorName(status)); in TestLenientParse()
1149 format->setLenient(TRUE); in TestLenientParse()
1153 format->parse(testCase, n, status); in TestLenientParse()
1172 dataerrln("Unable to create NumberFormat (sv_SE, UNUM_DECIMAL) - %s", u_errorName(status)); in TestLenientParse()
1174 mFormat->setLenient(TRUE); in TestLenientParse()
1178 mFormat->parse(testCase, n, status); in TestLenientParse()
1181 if (U_FAILURE(status) || n.getType() != Formattable::kLong || n.getLong() != -5) { in TestLenientParse()
1193 dataerrln("Unable to create NumberFormat (en_US, UNUM_DECIMAL) - %s", u_errorName(status)); in TestLenientParse()
1195 mFormat->setLenient(TRUE); in TestLenientParse()
1199 mFormat->parse(testCase, n, status); in TestLenientParse()
1202 if (U_FAILURE(status) || n.getType() != Formattable::kLong || n.getLong() != -5) { in TestLenientParse()
1214 dataerrln("Unable to create NumberFormat (en_US, UNUM_CURRENCY) - %s", u_errorName(status)); in TestLenientParse()
1216 cFormat->setLenient(TRUE); in TestLenientParse()
1220 cFormat->parse(testCase, n, status); in TestLenientParse()
1234 cFormat->parse(testCase, n, status); in TestLenientParse()
1238 n.getLong() != -1000) { in TestLenientParse()
1251 …dataerrln("Unable to create NumberFormat::createPercentInstance (en_US) - %s", u_errorName(status)… in TestLenientParse()
1253 pFormat->setLenient(TRUE); in TestLenientParse()
1257 pFormat->parse(testCase, n, status); in TestLenientParse()
1272 pFormat->parse(testCase, n, status); in TestLenientParse()
1276 n.getDouble() != -0.25) { in TestLenientParse()
1292 dataerrln("Unable to create NumberFormat (en_US) - %s", u_errorName(status)); in TestLenientParse()
1298 nFormat->parse(testCase, n, status); in TestLenientParse()
1310 nFormat->setLenient(TRUE); in TestLenientParse()
1314 nFormat->parse(testCase, n, status); in TestLenientParse()
1329 // -------------------------------------
1350 roundingTest(*nf, - 19.5, 0, "-20"); in TestRounding487()
1379 g->format(l, out); in TestSecondaryGrouping()
1397 // Later -- fix this to get the actual grouping in TestSecondaryGrouping()
1408 " x hi_IN -> \"1,87,65,43,210\" (with Hindi digits), got \"" + in TestSecondaryGrouping()
1412 " x hi_IN -> \"" + in TestSecondaryGrouping()
1422 errcheckln(ec, "FAIL: Constructor - %s", u_errorName(ec)); in TestWhiteSpaceParsing()
1442 // Use .00392625 because that's 2^-8. Any value less than 0.005 is fine. in TestComplexCurrency()
1446 // expect2(*fmt, -1.0, CharsToUnicodeString("-Re.\\u00A01.00")); in TestComplexCurrency()
1447 // expect2(*fmt, -10.0, CharsToUnicodeString("-Rs.\\u00A010.00")); in TestComplexCurrency()
1455 // -------------------------------------
1491 // Test pattern round-trip in TestScientific()
1511 pat + "\" -> \"" + in TestScientific()
1515 pat + "\" -> \"" + in TestScientific()
1570 789.12345e-9, in TestScientific()
1571 "789.12E-9", status); in TestScientific()
1573 780.e-9, in TestScientific()
1574 "780E-9", status); in TestScientific()
1616 new Object[] { new Double(0.0000123), "12.3E-6", in TestScientific()
1617 new Double(0.000123), "123E-6", in TestScientific()
1618 new Double(0.00123), "1.23E-3", in TestScientific()
1619 new Double(0.0123), "12.3E-3", in TestScientific()
1620 new Double(0.123), "123E-3", in TestScientific()
1631 0.0000123, "12.3E-6", status); in TestScientific()
1633 0.000123, "123E-6", status); in TestScientific()
1635 0.00123, "1.23E-3", status); in TestScientific()
1637 0.0123, "12.3E-3", status); in TestScientific()
1639 0.123, "123E-3", status); in TestScientific()
1650 new Object[] { new Double(0.00012), "1.2E-04", in TestScientific()
1658 0.00012, "1.2E-04", status); in TestScientific()
1674 -1.3, "^-1.3", status); in TestPad()
1675 expect2(new DecimalFormat("##0.0####E0*_ 'g-m/s^2'", US, status), in TestPad()
1676 int32_t(0), "0.0E0______ g-m/s^2", status); in TestPad()
1677 expect(new DecimalFormat("##0.0####E0*_ 'g-m/s^2'", US, status), in TestPad()
1678 1.0/3, "333.333E-3_ g-m/s^2", status); in TestPad()
1679 expect2(new DecimalFormat("##0.0####*_ 'g-m/s^2'", US, status), in TestPad()
1680 int32_t(0), "0.0______ g-m/s^2", status); in TestPad()
1681 expect(new DecimalFormat("##0.0####*_ 'g-m/s^2'", US, status), in TestPad()
1682 1.0/3, "0.33333__ g-m/s^2", status); in TestPad()
1687 int32_t(-10), "xxxxxxxxxx(10.0)", status); in TestPad()
1689 int32_t(-1000),"xxxxxxx(1,000.0)", status); in TestPad()
1691 int32_t(-1000000),"xxx(1,000,000.0)", status); in TestPad()
1693 -100.37, "xxxxxxxx(100.37)", status); in TestPad()
1695 -10456.37, "xxxxx(10,456.37)", status); in TestPad()
1697 -1120456.37, "xx(1,120,456.37)", status); in TestPad()
1699 -112045600.37, "(112,045,600.37)", status); in TestPad()
1701 -1252045600.37,"(1,252,045,600.37)", status); in TestPad()
1724 int32_t(-10), "(10.0xxxxxxxxxx)", status); in TestPad()
1726 int32_t(-1000),"(1,000.0xxxxxxx)", status); in TestPad()
1728 int32_t(-1000000),"(1,000,000.0xxx)", status); in TestPad()
1730 -100.37, "(100.37xxxxxxxx)", status); in TestPad()
1732 -10456.37, "(10,456.37xxxxx)", status); in TestPad()
1734 -1120456.37, "(1,120,456.37xx)", status); in TestPad()
1736 -112045600.37, "(112,045,600.37)", status); in TestPad()
1738 -1252045600.37,"(1,252,045,600.37)", status); in TestPad()
1865 -1.3, " minus 1decimal3", status); in TestSurrogateSupport()
1867 expect2(new DecimalFormat("##0.0####E0 'g-m/s^2'", custom, status), in TestSurrogateSupport()
1868 int32_t(0), "0decimal0exponent0 g-m/s^2", status); in TestSurrogateSupport()
1870 expect(new DecimalFormat("##0.0####E0 'g-m/s^2'", custom, status), in TestSurrogateSupport()
1871 1.0/3, "333decimal333exponent minus 3 g-m/s^2", status); in TestSurrogateSupport()
1873 expect2(new DecimalFormat("##0.0#### 'g-m/s^2'", custom, status), in TestSurrogateSupport()
1874 int32_t(0), "0decimal0 g-m/s^2", status); in TestSurrogateSupport()
1876 expect(new DecimalFormat("##0.0#### 'g-m/s^2'", custom, status), in TestSurrogateSupport()
1877 1.0/3, "0decimal33333 g-m/s^2", status); in TestSurrogateSupport()
1901 int32_t(-20), expStr, status); in TestSurrogateSupport()
1904 patternStr = "'You''ve lost ' -0.00 %' of your money today'"; in TestSurrogateSupport()
1909 int32_t(-20), expStr, status); in TestSurrogateSupport()
1919 errln("FAIL: Can't create NumberFormat(%s) - %s", locs[i].getName(), u_errorName(ec)); in TestCurrencyPatterns()
1923 int32_t min = nf->getMinimumFractionDigits(); in TestCurrencyPatterns()
1924 int32_t max = nf->getMaximumFractionDigits(); in TestCurrencyPatterns()
1927 nf->format(1.0, a); in TestCurrencyPatterns()
1928 nf->format(1.125, b); in TestCurrencyPatterns()
1938 if (u_strcmp(EUR, df->getCurrency()) == 0) { in TestCurrencyPatterns()
1941 nf->format(1.0, a); in TestCurrencyPatterns()
2001 // USD { "US$", "US Dollar" } // 04/04/1792- in TestCurrencyNames()
2010 // Warning: HARD-CODED LOCALE DATA in this test. If it fails, CHECK in TestCurrencyNames()
2136 …{"en-US", u"CAD", u"CA$", u"$", u"CA$", u"CA$", U_USING_DEFAULT_WARNING}, // narrow: fallback to r… in TestCurrencyVariants()
2137 …{"en-US", u"CDF", u"CDF", u"CDF", u"CDF", u"CDF", U_USING_FALLBACK_WARNING}, // narrow: fallback t… in TestCurrencyVariants()
2138 …{"sw-CD", u"CDF", u"FC", u"FC", u"FC", u"FC", U_USING_FALLBACK_WARNING}, // narrow: fallback to sh… in TestCurrencyVariants()
2139 …{"en-US", u"GEL", u"GEL", u"₾", u"GEL", u"GEL", U_USING_DEFAULT_WARNING}, // narrow: fallback to r… in TestCurrencyVariants()
2140 … {"ka-GE", u"GEL", u"₾", u"₾", u"₾", u"₾", U_USING_FALLBACK_WARNING}, // narrow: fallback to ka in TestCurrencyVariants()
2142 …{"zh-TW", u"TWD", u"$", u"$", u"NT$", u"$", U_USING_FALLBACK_WARNING}, // narrow: fallback to short in TestCurrencyVariants()
2223 // Test XYZ, a valid but non-standard currency. in TestCurrencyUnit()
2224 // Note: Country code XY is private-use, so XYZ should remain unallocated. in TestCurrencyUnit()
2226 assertSuccess("non-standard", ec); in TestCurrencyUnit()
2227 assertEquals("non-standard", XYZ, extended.getISOCurrency()); in TestCurrencyUnit()
2228 assertEquals("non-standard", XYZ8, extended.getSubtype()); in TestCurrencyUnit()
2231 assertEquals("non-invariant", U_INVARIANT_CONVERSION_ERROR, ec); in TestCurrencyUnit()
2232 assertEquals("non-invariant", XXX, inv.getISOCurrency()); in TestCurrencyUnit()
2241 assertEquals("non-nul-terminated", u"EUR", eur.getISOCurrency()); in TestCurrencyUnit()
2242 assertEquals("non-nul-terminated", "EUR", eur.getSubtype()); in TestCurrencyUnit()
2249 assertEquals("non-invariant 8", U_INVARIANT_CONVERSION_ERROR, ec); in TestCurrencyUnit()
2250 assertEquals("non-invariant 8", XXX, inv8.getISOCurrency()); in TestCurrencyUnit()
2264 assertEquals("non-nul-terminated 8", u"EUR", eur8.getISOCurrency()); in TestCurrencyUnit()
2265 assertEquals("non-nul-terminated 8", "EUR", eur8.getSubtype()); in TestCurrencyUnit()
2338 // Test equality between UTF-16 and system charset instances in TestCurrencyUnit()
2377 …"x-crazy_ZZ_MY_SPECIAL_ADMINISTRATION_REGION_NEEDS_A_SPECIAL_VARIANT_WITH_A_REALLY_REALLY_REALLY_R… in TestSymbolsWithBadLocale()
2380 …"x-crazy_ZZ_MY_SPECIAL_ADMINISTRATION_REGION_NEEDS_A_SPECIAL_VARIANT_WITH_A_REALLY_REALLY_REALLY_R… in TestSymbolsWithBadLocale()
2430 errcheckln(ec, "Fail: DecimalFormatSymbols constructor - %s", u_errorName(ec)); in TestAdoptDecimalFormatSymbols()
2456 sym->setSymbol(DecimalFormatSymbols::kCurrencySymbol, "Q"); in TestAdoptDecimalFormatSymbols()
2464 dataerrln("Fail: adoptDecimalFormatSymbols -> " + str + ", expected Q 2,350.75"); in TestAdoptDecimalFormatSymbols()
2492 dataerrln("Fail: setDecimalFormatSymbols -> " + str + ", expected Q 2,350.75"); in TestAdoptDecimalFormatSymbols()
2525 // Prefix with "-:" for illegal patterns in TestIllegalPatterns()
2529 "-:000.000|###", in TestIllegalPatterns()
2550 //----------------------------------------------------------------------
2555 /*2*/ "f:", // <pattern or '-'> <number> <exp. string>
2556 /*3*/ "fp:", // <pattern or '-'> <number> <exp. string> <exp. number>
2557 /*4*/ "rt:", // <pattern or '-'> <(exp.) number> <(exp.) string>
2558 /*5*/ "p:", // <pattern or '-'> <string> <exp. number>
2559 /*6*/ "perr:", // <pattern or '-'> <invalid string>
2560 /*7*/ "pat:", // <pattern or '-'> <exp. toPattern or '-' or 'err'>
2561 /*8*/ "fpc:", // <pattern or '-'> <curr.amt> <exp. string> <exp. curr.amt>
2568 * -1 if there are no more tokens, or -2 if the token is not on
2577 return -1; in keywordIndex()
2642 if (tok != "-") { in TestCases()
2658 // f: <pattern or '-'> <number> <exp. string> in TestCases()
2659 // fp: <pattern or '-'> <number> <exp. string> <exp. number> in TestCases()
2660 // rt: <pattern or '-'> <number> <string> in TestCases()
2664 ref->parse(num, n, ec); in TestCases()
2667 str, fmt->format(n, out.remove(), ec)); in TestCases()
2671 ref->parse(num, n, ec); in TestCases()
2676 fmt->parse(str, m, ec); in TestCases()
2682 // p: <pattern or '-'> <string to parse> <exp. number> in TestCases()
2688 ref->parse(expstr, exp, ec); in TestCases()
2690 fmt->parse(str, n, ec); in TestCases()
2698 if (tok != "-") { in TestCases()
2719 // fpc: <loc or '-'> <curr.amt> <exp. string> <exp. curr.amt> in TestCases()
2725 str, mfmt->format(n, out.remove(), ec)); in TestCases()
2733 mfmt->parseObject(str, m, ec); in TestCases()
2743 // perr: <pattern or '-'> <invalid string> in TestCases()
2747 // pat: <pattern> <exp. toPattern, or '-' or 'err'> in TestCases()
2754 if (testpat == "-") { in TestCases()
2756 errln("FAIL: " + where + "Invalid command \"pat: - err\""); in TestCases()
2762 if (exppat == "-") exppat = testpat; in TestCases()
2777 exppat, f->toPattern(pat2)); in TestCases()
2790 case -1: in TestCases()
2811 //----------------------------------------------------------------------
2813 //----------------------------------------------------------------------
2843 // Don't round-trip format test, since we explicitly do it in expect3()
2849 // Don't round-trip format test, since we explicitly do it in expect2()
2870 dataerrln(UnicodeString("FAIL: Parse failed for \"") + str + "\" - " + u_errorName(status)); in expect()
2874 ((DecimalFormat*) &fmt)->toPattern(pat); in expect()
2914 // We should be able to round-trip the formatted string => in expect_rbnf()
2947 ((DecimalFormat*) &fmt)->toPattern(pat); in expect()
2952 // We should be able to round-trip the formatted string => in expect()
2959 … errln(UnicodeString("FAIL: Parse failed for \"") + exp + "\" - " + u_errorName(status)); in expect()
2992 const UChar DEFAULT_CURR[] = {45/*-*/,0}; in expectCurrency()
3015 f->setMaximumFractionDigits(4); in expectCurrency()
3016 f->setGroupingUsed(FALSE); in expectCurrency()
3017 f->format(value, v); in expectCurrency()
3058 apos = -1; in expectPad()
3075 // This test is flaky b/c the symbols for CNY and JPY are equivalent in this locale - FIXME
3087 logln("%s:%d - testing parse of halfwidth yen sign\n", __FILE__, __LINE__); in TestCompatibleCurrencies()
3089 logln("%s:%d - testing parse of fullwidth yen sign\n", __FILE__, __LINE__); in TestCompatibleCurrencies()
3091 logln("%s:%d - testing parse of halfwidth yen sign\n", __FILE__, __LINE__); in TestCompatibleCurrencies()
3097 logln("%s:%d - testing parse of halfwidth yen sign in TW\n", __FILE__, __LINE__); in TestCompatibleCurrencies()
3099 logln("%s:%d - testing parse of fullwidth yen sign in TW\n", __FILE__, __LINE__); in TestCompatibleCurrencies()
3105 logln("%s:%d - testing parse of halfwidth yen sign in JP\n", __FILE__, __LINE__); in TestCompatibleCurrencies()
3107 logln("%s:%d - testing parse of fullwidth yen sign in JP\n", __FILE__, __LINE__); in TestCompatibleCurrencies()
3134 assertTrue(theOperation, amount == currencyAmount->getNumber().getDouble(status)); in expectParseCurrency()
3138 assertEquals(theOperation, currency, currencyAmount->getISOCurrency()); in expectParseCurrency()
3150 …dataerrln("Could not create currency formatter for locale %s - %s", localeID, u_errorName(status)); in TestJB3832()
3153 currencyFmt->format(1150.50, s); in TestJB3832()
3177 errln("FAIL: expected style %d to be unsupported - %s", in TestHost()
3183 dataerrln("FAIL: Can't create number instance of style %d for host - %s", in TestHost()
3189 full->format(number, result1, status); in TestHost()
3195 full->parse(result1, formattable, status); in TestHost()
3215 dataerrln("FAIL: Can't create NumberFormat date instance - %s", u_errorName(status)); in TestHostClone()
3219 full->format(now, result1, status); in TestHostClone()
3220 Format *fullClone = full->clone(); in TestHostClone()
3225 fullClone->format(now, result2, status); in TestHostClone()
3230 errln("FAIL: Clone returned different result from non-clone."); in TestHostClone()
3257 cloneObj = measureObj->clone(); in TestCurrencyFormat()
3263 measureObj->format(toFormat, str, status); in TestCurrencyFormat()
3264 measureObj->parseObject(str, result, status); in TestCurrencyFormat()
3273 cloneObj->format(toFormat, str, status); in TestCurrencyFormat()
3274 cloneObj->parseObject(str, result, status); in TestCurrencyFormat()
3299 dataerrln("Unable to create decimal formatter. - %s", u_errorName(status)); in TestRounding()
3308 df->setRoundingMode((DecimalFormat::ERoundingMode)mode); in TestRounding()
3336 dataerrln("Unable to create decimal formatter. - %s", u_errorName(status)); in TestRoundingPattern()
3343 df->applyPattern(tests[i].pattern, status); in TestRoundingPattern()
3345 errln("Unable to apply pattern to decimal formatter. - %s", u_errorName(status)); in TestRoundingPattern()
3348 df->format(tests[i].testCase, result); in TestRoundingPattern()
3351 …ed: Pattern: \"" + tests[i].pattern + "\" Number: " + tests[i].testCase + " - Got: " + result + " … in TestRoundingPattern()
3359 df->setRoundingIncrement(increment); in checkRounding()
3361 for (int i=-iterations; i<=iterations;i++) { in checkRounding()
3368 lastParsed=checkRound(df, iValue-smallIncrement, lastParsed); in checkRounding()
3379 df->format(iValue, formattedDecimal, status); in checkRound()
3385 df->parse(formattedDecimal, result, status); in checkRound()
3417 df.setMultiplier(-1); in TestNonpositiveMultiplier()
3418 if (df.getMultiplier() != -1) { in TestNonpositiveMultiplier()
3419 errln("DecimalFormat.setMultiplier(-1) ignored its negative input"); in TestNonpositiveMultiplier()
3423 expect(df, "1122.123", -1122.123); in TestNonpositiveMultiplier()
3424 expect(df, "-1122.123", 1122.123); in TestNonpositiveMultiplier()
3425 expect(df, "1.2", -1.2); in TestNonpositiveMultiplier()
3426 expect(df, "-1.2", 1.2); in TestNonpositiveMultiplier()
3430 // Parsing the formatted text will be out-of-range for an int64, however. in TestNonpositiveMultiplier()
3435 expect(df, (int64_t)-123, "123"); in TestNonpositiveMultiplier()
3436 expect(df, (int64_t)123, "-123"); in TestNonpositiveMultiplier()
3437 expect(df, U_INT64_MAX-1, "-9223372036854775806"); in TestNonpositiveMultiplier()
3438 expect(df, U_INT64_MAX, "-9223372036854775807"); in TestNonpositiveMultiplier()
3440 df.setMultiplier(-2); in TestNonpositiveMultiplier()
3441 expect(df, -(U_INT64_MIN/2)-1, "-9223372036854775806"); in TestNonpositiveMultiplier()
3442 expect(df, -(U_INT64_MIN/2), "-9223372036854775808"); in TestNonpositiveMultiplier()
3443 expect(df, -(U_INT64_MIN/2)+1, "-9223372036854775810", FALSE); in TestNonpositiveMultiplier()
3445 df.setMultiplier(-7); in TestNonpositiveMultiplier()
3446 expect(df, -(U_INT64_MAX/7)-1, "9223372036854775814", FALSE); in TestNonpositiveMultiplier()
3447 expect(df, -(U_INT64_MAX/7), "9223372036854775807"); in TestNonpositiveMultiplier()
3448 expect(df, -(U_INT64_MAX/7)+1, "9223372036854775800"); in TestNonpositiveMultiplier()
3452 //expect2(df, U_INT64_MAX, Int64ToUnicodeString(-U_INT64_MAX)); in TestNonpositiveMultiplier()
3454 //expect2(df, U_INT64_MAX / 2, Int64ToUnicodeString(-(U_INT64_MAX / 2))); in TestNonpositiveMultiplier()
3455 //expect2(df, U_INT64_MIN / 2, Int64ToUnicodeString(-(U_INT64_MIN / 2))); in TestNonpositiveMultiplier()
3476 {"$124", 4, -1, FALSE}, in TestSpaceParsing()
3477 {"$124 $124", 4, -1, FALSE}, in TestSpaceParsing()
3478 {"$124 ", 4, -1, FALSE}, in TestSpaceParsing()
3480 {"$\\u00A0124 ", 5, -1, FALSE}, in TestSpaceParsing()
3484 {"$124", 4, -1, TRUE}, in TestSpaceParsing()
3485 {"$124 $124", 4, -1, TRUE}, in TestSpaceParsing()
3486 {"$124 ", 4, -1, TRUE}, in TestSpaceParsing()
3487 {"$ 124 ", 5, -1, TRUE}, in TestSpaceParsing()
3488 {"$\\u00A0124 ", 5, -1, TRUE}, in TestSpaceParsing()
3489 {" $ 124 ", 6, -1, TRUE}, in TestSpaceParsing()
3490 {"124$", 4, -1, TRUE}, in TestSpaceParsing()
3491 {"124$", 4, -1, TRUE}, in TestSpaceParsing()
3492 {"124 $", 5, -1, TRUE}, in TestSpaceParsing()
3493 {"124 $", 5, -1, TRUE}, in TestSpaceParsing()
3508 foo->setLenient(DATA[i].lenient); in TestSpaceParsing()
3510 foo->parse(stringToBeParsed, result, parsePosition); in TestSpaceParsing()
3516 if (parsePosition.getErrorIndex() == -1 && in TestSpaceParsing()
3557 for (item = DATA; item->localeName != NULL; item++) { in TestNumberingSystems()
3559 Locale loc = Locale::createFromName(item->localeName); in TestNumberingSystems()
3563 dataerrln("FAIL: getInstance(%s) - %s", item->localeName, u_errorName(ec)); in TestNumberingSystems()
3567 NumberFormat *fmt = origFmt->clone(); in TestNumberingSystems()
3571 if (item->isRBNF) { in TestNumberingSystems()
3572 expect3(*fmt,item->value,CharsToUnicodeString(item->expectedResult)); in TestNumberingSystems()
3574 expect2(*fmt,item->value,CharsToUnicodeString(item->expectedResult)); in TestNumberingSystems()
3592 dataerrln("FAIL: NumberingSystem::createInstance(ec); - %s", u_errorName(ec)); in TestNumberingSystems()
3596 ns->getDynamicClassID(); in TestNumberingSystems()
3597 ns->getStaticClassID(); in TestNumberingSystems()
3624 …{"en_US", "\\u00A4#,##0.00;-\\u00A4#,##0.00", "1234.56", "$1,234.56", "USD\\u00A01,234.56", "US do… in TestMultiCurrencySign()
3625 …{"en_US", "\\u00A4#,##0.00;-\\u00A4#,##0.00", "-1234.56", "-$1,234.56", "-USD\\u00A01,234.56", "-U… in TestMultiCurrencySign()
3626 …{"en_US", "\\u00A4#,##0.00;-\\u00A4#,##0.00", "1", "$1.00", "USD\\u00A01.00", "US dollars\\u00A01.… in TestMultiCurrencySign()
3629 …{"zh_CN", "\\u00A4#,##0.00;(\\u00A4#,##0.00)", "-1234.56", "(\\u00A51,234.56)", "(CNY\\u00A01,234.… in TestMultiCurrencySign()
3663 ((NumberFormat*) fmt)->format(numberToBeFormat, s); in TestMultiCurrencySign()
3687 fmt->parse(oneCurrencyFormat, parseRes, status); in TestMultiCurrencySign()
3724 curFmt->parseObject(stringToBeParsed, result, status); in TestCurrencyFormatForMixParsing()
3729 curramt->getNumber().getDouble() != 1234.56 || in TestCurrencyFormatForMixParsing()
3730 UnicodeString(curramt->getISOCurrency()).compare(ISO_CURRENCY_USD) in TestCurrencyFormatForMixParsing()
3733 if (curramt->getNumber().getDouble() != 1234.56) { in TestCurrencyFormatForMixParsing()
3734 …errln((UnicodeString)"wong number, expect: 1234.56" + ", got: " + curramt->getNumber().getDouble()… in TestCurrencyFormatForMixParsing()
3736 if (curramt->getISOCurrency() != ISO_CURRENCY_USD) { in TestCurrencyFormatForMixParsing()
3737 … errln((UnicodeString)"wong currency, expect: USD" + ", got: " + curramt->getISOCurrency()); in TestCurrencyFormatForMixParsing()
3754 df->toPattern(pattern)); in TestMismatchedCurrencyFormatFail()
3755 // Should round-trip on the correct currency format: in TestMismatchedCurrencyFormatFail()
3757 df->setCurrency(u"EUR", status); in TestMismatchedCurrencyFormatFail()
3760 df->setLenient(TRUE); in TestMismatchedCurrencyFormatFail()
3764 df->setLenient(FALSE); in TestMismatchedCurrencyFormatFail()
3768 df->parse(u"1.23\u20AC", result, failStatus); in TestMismatchedCurrencyFormatFail()
3773 df->parseCurrency(u"1.23\u20AC", ppos); in TestMismatchedCurrencyFormatFail()
3790 // "\xA4#,##0.00;-\xA4#,##0.00" in TestDecimalFormatCurrencyParse()
3791 …pat.append(currency).append(currency).append(currency).append("#,##0.00;-").append(currency).appen… in TestDecimalFormatCurrencyParse()
3809 fmt->setLenient(TRUE); in TestDecimalFormatCurrencyParse()
3815 fmt->parse(stringToBeParsed, result, status); in TestDecimalFormatCurrencyParse()
3842 {"en_US", "-1234.56", "USD", "-$1,234.56", "-USD\\u00A01,234.56", "-1,234.56 US dollars"}, in TestCurrencyIsoPluralFormat()
3851 {"root", "-1.23", "USD", "-US$\\u00A01.23", "-USD\\u00A01.23", "-1.23 USD"}, in TestCurrencyIsoPluralFormat()
3874 …ing)"can not create instance, locale:" + localeString + ", style: " + k + " - " + u_errorName(stat… in TestCurrencyIsoPluralFormat()
3879 numFmt->setCurrency(currencyCode, status); in TestCurrencyIsoPluralFormat()
3887 numFmt->format(numberToBeFormat, strBuf); in TestCurrencyIsoPluralFormat()
3897 numFmt->setLenient(TRUE); in TestCurrencyIsoPluralFormat()
3908 numFmt->parse(oneCurrencyFormatResult, parseResult, status); in TestCurrencyIsoPluralFormat()
3974 for (uint32_t i=0; i< UPRV_LENGTHOF(DATA); ++i) { /* i = test case # - should be i=0*/ in TestCurrencyParsing()
3989 …ing)"can not create instance, locale:" + localeString + ", style: " + k + " - " + u_errorName(stat… in TestCurrencyParsing()
3994 numFmt->setCurrency(currencyCode, status); in TestCurrencyParsing()
4002 numFmt->format(numberToBeFormat, strBuf); in TestCurrencyParsing()
4012 numFmt->setLenient(TRUE); in TestCurrencyParsing()
4024 numFmt->parse(oneCurrencyFormatResult, parseResult, status); in TestCurrencyParsing()
4031 …deString)u_errorName(status)+". Testcase: data[" + i + "][" + currencyStyleNames[j-3] +"="+j+"]"); in TestCurrencyParsing()
4037 errln((UnicodeString)" round-trip would be: " + strBuf); in TestCurrencyParsing()
4052 "1.00 US DOLLAR", // case in-sensitive in TestParseCurrencyInUCurr()
4055 "usd1.00", // case in-sensitive: #13696 in TestParseCurrencyInUCurr()
4229 "Bosnia-Herzegovina Convertible Mark1.00", in TestParseCurrencyInUCurr()
4230 "Bosnia-Herzegovina Dinar (1992\\u20131994)1.00", in TestParseCurrencyInUCurr()
4231 "Bosnia-Herzegovina convertible mark1.00", in TestParseCurrencyInUCurr()
4232 "Bosnia-Herzegovina convertible marks1.00", in TestParseCurrencyInUCurr()
4233 "Bosnia-Herzegovina dinar (1992\\u20131994)1.00", in TestParseCurrencyInUCurr()
4234 "Bosnia-Herzegovina dinars (1992\\u20131994)1.00", in TestParseCurrencyInUCurr()
4462 "French UIC-Franc1.00", in TestParseCurrencyInUCurr()
4463 "French UIC-franc1.00", in TestParseCurrencyInUCurr()
4464 "French UIC-francs1.00", in TestParseCurrencyInUCurr()
4525 "Guinea-Bissau Peso1.00", in TestParseCurrencyInUCurr()
4526 "Guinea-Bissau peso1.00", in TestParseCurrencyInUCurr()
4527 "Guinea-Bissau pesos1.00", in TestParseCurrencyInUCurr()
5388 "1.00 Bosnia-Herzegovina Convertible Mark random", in TestParseCurrencyInUCurr()
5389 "1.00 Bosnia-Herzegovina Dinar (1992\\u20131994) random", in TestParseCurrencyInUCurr()
5390 "1.00 Bosnia-Herzegovina convertible mark random", in TestParseCurrencyInUCurr()
5391 "1.00 Bosnia-Herzegovina convertible marks random", in TestParseCurrencyInUCurr()
5392 "1.00 Bosnia-Herzegovina dinar (1992\\u20131994) random", in TestParseCurrencyInUCurr()
5393 "1.00 Bosnia-Herzegovina dinars (1992\\u20131994) random", in TestParseCurrencyInUCurr()
5550 "1.00 French UIC-Franc random", in TestParseCurrencyInUCurr()
5551 "1.00 French UIC-franc random", in TestParseCurrencyInUCurr()
5552 "1.00 French UIC-francs random", in TestParseCurrencyInUCurr()
5589 "1.00 Guinea-Bissau Peso random", in TestParseCurrencyInUCurr()
5590 "1.00 Guinea-Bissau peso random", in TestParseCurrencyInUCurr()
5591 "1.00 Guinea-Bissau pesos random", in TestParseCurrencyInUCurr()
6130 "BI1.00", in TestParseCurrencyInUCurr()
6157 "Bosnia-Herzegovina Convertible Mar1.00", in TestParseCurrencyInUCurr()
6158 "Bosnia-Herzegovina Dina1.00", in TestParseCurrencyInUCurr()
6254 "French UIC-Fran1.00", in TestParseCurrencyInUCurr()
6278 "Guinea-Bissau Pes1.00", in TestParseCurrencyInUCurr()
6603 numFmt->setLenient(TRUE); in TestParseCurrencyInUCurr()
6605 LocalPointer<CurrencyAmount> currAmt(numFmt->parseCurrency(formatted, parsePos)); in TestParseCurrencyInUCurr()
6607 double doubleVal = currAmt->getNumber().getDouble(status); in TestParseCurrencyInUCurr()
6609 errln("Parsed as currency value other than 1.0: " + formatted + " -> " + doubleVal); in TestParseCurrencyInUCurr()
6622 LocalPointer<CurrencyAmount> currAmt(numFmt->parseCurrency(formatted, parsePos)); in TestParseCurrencyInUCurr()
6624 double doubleVal = currAmt->getNumber().getDouble(status); in TestParseCurrencyInUCurr()
6625 errln("Parsed as currency, should not have: " + formatted + " -> " + doubleVal); in TestParseCurrencyInUCurr()
6628 dataerrln("Unable to create NumberFormat. - %s", u_errorName(status)); in TestParseCurrencyInUCurr()
6717 decFmt->format(num, str1, &iter1, status); in TestFieldPositionIterator()
6719 decFmt->format(num, str2, &iter2, status); in TestFieldPositionIterator()
6728 decFmt->format(num, str2, NULL, status); in TestFieldPositionIterator()
6753 decFmt->format(val, result, &posIter, status); in TestFormatAttributes()
6759 decFmt->format(val, result, fp); in TestFormatAttributes()
6765 decFmt->format(val, result, fp); in TestFormatAttributes()
6771 val = -0.0000123; in TestFormatAttributes()
6786 decFmt->format(val, result, &posIter, status); in TestFormatAttributes()
6792 decFmt->format(val, result, fp); in TestFormatAttributes()
6798 decFmt->format(val, result, fp); in TestFormatAttributes()
6870 f.setDecimalNumber("-123", status); in TestDecimal()
6873 ASSERT_EQUALS(-123, f.getLong()); in TestDecimal()
6874 ASSERT_EQUALS(-123, f.getLong(status)); in TestDecimal()
6876 ASSERT_EQUALS("-123", f.getDecimalNumber(status).data()); in TestDecimal()
6898 fmtr->format(num, formattedResult, NULL, status); in TestDecimal()
6919 fmtr->format(dl, formattedResult, NULL, status); in TestDecimal()
6929 fmtr->format(dl, formattedResult, pos, status); in TestDecimal()
6947 fmtr->parse(input, result, status); in TestDecimal()
6969 fmtr->parse(input, result, status); in TestDecimal()
6991 fmt->format(value, text1); in TestCurrencyFractionDigits()
6994 fmt->setCurrency(fmt->getCurrency(), status); in TestCurrencyFractionDigits()
6996 fmt->format(value, text2); in TestCurrencyFractionDigits()
6999 errln((UnicodeString)"NumberFormat::format() should return the same result - text1=" in TestCurrencyFractionDigits()
7028 fmt.parse("5.06e-27", result, parsePos); in TestExponentParse()
7030 result.getDouble() != 5.06E-27 && in TestExponentParse()
7034 errln("ERROR: parse failed - expected 5.06E-27, 8 - returned %d, %i", in TestExponentParse()
7058 UnicodeString expected(parentLocaleTests[i][1], -1, US_INV); in TestExplicitParents()
7064 … dataerrln("Could not create number formatter for locale %s - %s",localeID, u_errorName(status)); in TestExplicitParents()
7068 fmt->format(1250.75, s); in TestExplicitParents()
7090 int32_t nsCount = availableNumberingSystems->count(status); in TestAvailableNumberingSystems()
7103 const char *nsname = availableNumberingSystems->next(&len,status); in TestAvailableNumberingSystems()
7106 if ( uprv_strcmp(nsname,ns->getName()) ) { in TestAvailableNumberingSystems()
7124 assertTrue("Non-existent numbering system should return null", dummy.isNull()); in TestAvailableNumberingSystems()
7145 dataerrln("FAIL: error in unum_open() - %s", u_errorName(status)); in Test9087()
7164 …errln((UnicodeString)"FAIL: unexpected result for infinity - expected " + infstr + " got " + outpu… in Test9087()
7176 dataerrln("Error creating DecimalFormat - %s", u_errorName(status)); in TestFormatFastpaths()
7195 dataerrln("Error creating DecimalFormat - %s", u_errorName(status)); in TestFormatFastpaths()
7197 int64_t long_number = U_INT64_MIN; // -9223372036854775808L; in TestFormatFastpaths()
7203 UnicodeString expect = "-9223372036854775808"; in TestFormatFastpaths()
7208 dataerrln("%s:%d FAIL: expected '%s' got '%s' status %s on -9223372036854775808", in TestFormatFastpaths()
7211 …t expected '"+result+"' status "+UnicodeString(u_errorName(status),"")+" on -9223372036854775808"); in TestFormatFastpaths()
7219 dataerrln("Error creating DecimalFormat - %s", u_errorName(status)); in TestFormatFastpaths()
7221 int64_t long_number = U_INT64_MAX; // -9223372036854775808L; in TestFormatFastpaths()
7243 dataerrln("Error creating DecimalFormat - %s", u_errorName(status)); in TestFormatFastpaths()
7267 dataerrln("Error creating DecimalFormat - %s", u_errorName(status)); in TestFormatFastpaths()
7270 UnicodeString expect = "-9223372036854775807"; in TestFormatFastpaths()
7275 dataerrln("%s:%d FAIL: expected '%s' got '%s' status %s on -9223372036854775807", in TestFormatFastpaths()
7278 …t expected '"+result+"' status "+UnicodeString(u_errorName(status),"")+" on -9223372036854775807"); in TestFormatFastpaths()
7342 assertTrue("UChar* NULL-terminated", uch[len]==0); in testFormattableAsUFormattable()
7361 errln("%s:%d: operator== did not match at index[%d] - %p vs %p", file, line, i, in testFormattableAsUFormattable()
7387 errln("%s:%d: Error calling ufmt_getType - %s", file, line, u_errorName(status)); in testFormattableAsUFormattable()
7525 0.1, -0.1, in TestSignificantDigits()
7526 123, -123, in TestSignificantDigits()
7527 12345, -12345, in TestSignificantDigits()
7528 123.45, -123.45, in TestSignificantDigits()
7529 123.44501, -123.44501, in TestSignificantDigits()
7530 0.001234, -0.001234, in TestSignificantDigits()
7531 0.00000000123, -0.00000000123, in TestSignificantDigits()
7532 0.0000000000000000000123, -0.0000000000000000000123, in TestSignificantDigits()
7533 1.2, -1.2, in TestSignificantDigits()
7534 0.0000000012344501, -0.0000000012344501, in TestSignificantDigits()
7535 123445.01, -123445.01, in TestSignificantDigits()
7536 12344501000000000000000000000000000.0, -12344501000000000000000000000000000.0, in TestSignificantDigits()
7540 "0.100", "-0.100", in TestSignificantDigits()
7541 "123", "-123", in TestSignificantDigits()
7542 "12345", "-12345", in TestSignificantDigits()
7543 "123.45", "-123.45", in TestSignificantDigits()
7544 "123.45", "-123.45", in TestSignificantDigits()
7545 "0.001234", "-0.001234", in TestSignificantDigits()
7546 "0.00000000123", "-0.00000000123", in TestSignificantDigits()
7547 "0.0000000000000000000123", "-0.0000000000000000000123", in TestSignificantDigits()
7548 "1.20", "-1.20", in TestSignificantDigits()
7549 "0.0000000012345", "-0.0000000012345", in TestSignificantDigits()
7550 "123450", "-123450", in TestSignificantDigits()
7551 "12345000000000000000000000000000000", "-12345000000000000000000000000000000", in TestSignificantDigits()
7560 numberFormat->setSignificantDigitsUsed(TRUE); in TestSignificantDigits()
7561 numberFormat->setMinimumSignificantDigits(3); in TestSignificantDigits()
7562 numberFormat->setMaximumSignificantDigits(5); in TestSignificantDigits()
7563 numberFormat->setGroupingUsed(false); in TestSignificantDigits()
7568 numberFormat->format(input[i], result); in TestSignificantDigits()
7576 // Test for ICU-20063 in TestSignificantDigits()
7578 DecimalFormat df({"en-us", status}, status); in TestSignificantDigits()
7613 numberFormat->setSignificantDigitsUsed(TRUE); in TestShowZero()
7614 numberFormat->setMaximumSignificantDigits(3); in TestShowZero()
7617 numberFormat->format(0.0, result); in TestShowZero()
7633 if (numberFormat->areSignificantDigitsUsed() == TRUE) { in TestBug9936()
7636 numberFormat->setSignificantDigitsUsed(TRUE); in TestBug9936()
7637 if (numberFormat->areSignificantDigitsUsed() == FALSE) { in TestBug9936()
7641 numberFormat->setSignificantDigitsUsed(FALSE); in TestBug9936()
7642 if (numberFormat->areSignificantDigitsUsed() == TRUE) { in TestBug9936()
7646 numberFormat->setMinimumSignificantDigits(3); in TestBug9936()
7647 if (numberFormat->areSignificantDigitsUsed() == FALSE) { in TestBug9936()
7651 numberFormat->setSignificantDigitsUsed(FALSE); in TestBug9936()
7652 numberFormat->setMaximumSignificantDigits(6); in TestBug9936()
7653 if (numberFormat->areSignificantDigitsUsed() == FALSE) { in TestBug9936()
7663 test->setLenient(TRUE); in TestParseNegativeWithFaLocale()
7666 UnicodeString value("\\u200e-0,5"); in TestParseNegativeWithFaLocale()
7668 test->parse(value, af, ppos); in TestParseNegativeWithFaLocale()
7670 errln("Expected -0,5 to parse for Farsi."); in TestParseNegativeWithFaLocale()
7679 test->setLenient(TRUE); in TestParseNegativeWithAlternateMinusSign()
7684 test->parse(value, af, ppos); in TestParseNegativeWithAlternateMinusSign()
7723 …{ "en", FALSE, CharsToUnicodeString("-23"), -2… in TestParseSignsAndMarks()
7724 …{ "en", TRUE, CharsToUnicodeString("-23"), -2… in TestParseSignsAndMarks()
7725 …{ "en", TRUE, CharsToUnicodeString("- 23"), -2… in TestParseSignsAndMarks()
7726 …en", FALSE, CharsToUnicodeString("\\u200E-23"), -23 }, in TestParseSignsAndMarks()
7727 …en", TRUE, CharsToUnicodeString("\\u200E-23"), -23 }, in TestParseSignsAndMarks()
7728 …en", TRUE, CharsToUnicodeString("\\u200E- 23"), -23 }, in TestParseSignsAndMarks()
7732 …{ "en@numbers=arab", FALSE, CharsToUnicodeString("-\\u0664\\u0665"), -4… in TestParseSignsAndMarks()
7733 …{ "en@numbers=arab", TRUE, CharsToUnicodeString("-\\u0664\\u0665"), -4… in TestParseSignsAndMarks()
7734 …{ "en@numbers=arab", TRUE, CharsToUnicodeString("- \\u0664\\u0665"), -4… in TestParseSignsAndMarks()
7735 …en@numbers=arab", FALSE, CharsToUnicodeString("\\u200F-\\u0664\\u0665"), -45 }, in TestParseSignsAndMarks()
7736 …en@numbers=arab", TRUE, CharsToUnicodeString("\\u200F-\\u0664\\u0665"), -45 }, in TestParseSignsAndMarks()
7737 …en@numbers=arab", TRUE, CharsToUnicodeString("\\u200F- \\u0664\\u0665"), -45 }, in TestParseSignsAndMarks()
7741 …{ "en@numbers=arabext", FALSE, CharsToUnicodeString("-\\u06F6\\u06F7"), -6… in TestParseSignsAndMarks()
7742 …{ "en@numbers=arabext", TRUE, CharsToUnicodeString("-\\u06F6\\u06F7"), -6… in TestParseSignsAndMarks()
7743 …{ "en@numbers=arabext", TRUE, CharsToUnicodeString("- \\u06F6\\u06F7"), -6… in TestParseSignsAndMarks()
7744 …en@numbers=arabext", FALSE, CharsToUnicodeString("\\u200E-\\u200E\\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7745 …en@numbers=arabext", TRUE, CharsToUnicodeString("\\u200E-\\u200E\\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7746 …en@numbers=arabext", TRUE, CharsToUnicodeString("\\u200E-\\u200E \\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7750 …{ "he", FALSE, CharsToUnicodeString("-23"), -2… in TestParseSignsAndMarks()
7751 …{ "he", TRUE, CharsToUnicodeString("-23"), -2… in TestParseSignsAndMarks()
7752 …{ "he", TRUE, CharsToUnicodeString("- 23"), -2… in TestParseSignsAndMarks()
7753 …he", FALSE, CharsToUnicodeString("\\u200E-23"), -23 }, in TestParseSignsAndMarks()
7754 …he", TRUE, CharsToUnicodeString("\\u200E-23"), -23 }, in TestParseSignsAndMarks()
7755 …he", TRUE, CharsToUnicodeString("\\u200E- 23"), -23 }, in TestParseSignsAndMarks()
7759 …{ "ar", FALSE, CharsToUnicodeString("-\\u0664\\u0665"), -4… in TestParseSignsAndMarks()
7760 …{ "ar", TRUE, CharsToUnicodeString("-\\u0664\\u0665"), -4… in TestParseSignsAndMarks()
7761 …{ "ar", TRUE, CharsToUnicodeString("- \\u0664\\u0665"), -4… in TestParseSignsAndMarks()
7762 …ar", FALSE, CharsToUnicodeString("\\u200F-\\u0664\\u0665"), -45 }, in TestParseSignsAndMarks()
7763 …ar", TRUE, CharsToUnicodeString("\\u200F-\\u0664\\u0665"), -45 }, in TestParseSignsAndMarks()
7764 …ar", TRUE, CharsToUnicodeString("\\u200F- \\u0664\\u0665"), -45 }, in TestParseSignsAndMarks()
7768 …{ "ar_MA", FALSE, CharsToUnicodeString("-23"), -2… in TestParseSignsAndMarks()
7769 …{ "ar_MA", TRUE, CharsToUnicodeString("-23"), -2… in TestParseSignsAndMarks()
7770 …{ "ar_MA", TRUE, CharsToUnicodeString("- 23"), -2… in TestParseSignsAndMarks()
7771 …ar_MA", FALSE, CharsToUnicodeString("\\u200E-23"), -23 }, in TestParseSignsAndMarks()
7772 …ar_MA", TRUE, CharsToUnicodeString("\\u200E-23"), -23 }, in TestParseSignsAndMarks()
7773 …ar_MA", TRUE, CharsToUnicodeString("\\u200E- 23"), -23 }, in TestParseSignsAndMarks()
7777 …fa", FALSE, CharsToUnicodeString("\\u2212\\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7778 …fa", TRUE, CharsToUnicodeString("\\u2212\\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7779 …fa", TRUE, CharsToUnicodeString("\\u2212 \\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7780 …fa", FALSE, CharsToUnicodeString("\\u200E\\u2212\\u200E\\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7781 …fa", TRUE, CharsToUnicodeString("\\u200E\\u2212\\u200E\\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7782 …fa", TRUE, CharsToUnicodeString("\\u200E\\u2212\\u200E \\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7786 …{ "ps", FALSE, CharsToUnicodeString("-\\u06F6\\u06F7"), -6… in TestParseSignsAndMarks()
7787 …{ "ps", TRUE, CharsToUnicodeString("-\\u06F6\\u06F7"), -6… in TestParseSignsAndMarks()
7788 …{ "ps", TRUE, CharsToUnicodeString("- \\u06F6\\u06F7"), -6… in TestParseSignsAndMarks()
7789 …ps", FALSE, CharsToUnicodeString("\\u200E-\\u200E\\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7790 …ps", TRUE, CharsToUnicodeString("\\u200E-\\u200E\\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7791 …ps", TRUE, CharsToUnicodeString("\\u200E-\\u200E \\u06F6\\u06F7"), -67 }, in TestParseSignsAndMarks()
7792 …{ "ps", FALSE, CharsToUnicodeString("-\\u200E\\u06F6\\u06F7"), -6… in TestParseSignsAndMarks()
7793 …{ "ps", TRUE, CharsToUnicodeString("-\\u200E\\u06F6\\u06F7"), -6… in TestParseSignsAndMarks()
7794 …{ "ps", TRUE, CharsToUnicodeString("-\\u200E \\u06F6\\u06F7"), -6… in TestParseSignsAndMarks()
7800 for (itemPtr = items; itemPtr->locale != NULL; itemPtr++ ) { in TestParseSignsAndMarks()
7802 NumberFormat *numfmt = NumberFormat::createInstance(Locale(itemPtr->locale), status); in TestParseSignsAndMarks()
7804 numfmt->setLenient(itemPtr->lenient); in TestParseSignsAndMarks()
7807 numfmt->parse(itemPtr->numString, fmtobj, ppos); in TestParseSignsAndMarks()
7808 if (ppos.getIndex() == itemPtr->numString.length()) { in TestParseSignsAndMarks()
7810 if (U_FAILURE(status) || parsedValue != itemPtr->value) { in TestParseSignsAndMarks()
7811 …((UnicodeString)"FAIL: locale " + itemPtr->locale + ", lenient " + itemPtr->lenient + ", parse of … in TestParseSignsAndMarks()
7814 …((UnicodeString)"FAIL: locale " + itemPtr->locale + ", lenient " + itemPtr->lenient + ", parse of … in TestParseSignsAndMarks()
7817 …dataerrln("FAIL: NumberFormat::createInstance for locale % gives error %s", itemPtr->locale, u_err… in TestParseSignsAndMarks()
7848 decfmt->setRoundingMode(items[i].mode); in Test10419RoundingWith0FractionDigits()
7849 decfmt->setMaximumFractionDigits(0); in Test10419RoundingWith0FractionDigits()
7851 if (items[i].expected != decfmt->format(items[i].value, actual)) { in Test10419RoundingWith0FractionDigits()
7863 errcheckln(status, "DecimalFormat constructor failed - %s", u_errorName(status)); in Test10468ApplyPattern()
7881 errcheckln(status, "DecimalFormat constructor failed - %s", u_errorName(status)); in TestRoundingScientific10542()
7903 double values[] = {-0.003006, -0.003005, -0.003004, 0.003014, 0.003015, 0.003016}; in TestRoundingScientific10542()
7906 "-3.00E-3", "-3.00E-3", "-3.00E-3", "3.02E-3", "3.02E-3", "3.02E-3", in TestRoundingScientific10542()
7907 "-3.00E-3", "-3.00E-3", "-3.00E-3", "3.01E-3", "3.01E-3", "3.01E-3", in TestRoundingScientific10542()
7908 "-3.01E-3", "-3.01E-3", "-3.01E-3", "3.01E-3", "3.01E-3", "3.01E-3", in TestRoundingScientific10542()
7909 "-3.01E-3", "-3.00E-3", "-3.00E-3", "3.01E-3", "3.01E-3", "3.02E-3", in TestRoundingScientific10542()
7910 "-3.01E-3", "-3.00E-3", "-3.00E-3", "3.01E-3", "3.02E-3", "3.02E-3", in TestRoundingScientific10542()
7911 "-3.01E-3", "-3.01E-3", "-3.00E-3", "3.01E-3", "3.02E-3", "3.02E-3", in TestRoundingScientific10542()
7912 "-3.01E-3", "-3.01E-3", "-3.01E-3", "3.02E-3", "3.02E-3", "3.02E-3"}; in TestRoundingScientific10542()
7923 double values[] = {-3006.0, -3005, -3004, 3014, 3015, 3016}; in TestRoundingScientific10542()
7926 "-3.00E3", "-3.00E3", "-3.00E3", "3.02E3", "3.02E3", "3.02E3", in TestRoundingScientific10542()
7927 "-3.00E3", "-3.00E3", "-3.00E3", "3.01E3", "3.01E3", "3.01E3", in TestRoundingScientific10542()
7928 "-3.01E3", "-3.01E3", "-3.01E3", "3.01E3", "3.01E3", "3.01E3", in TestRoundingScientific10542()
7929 "-3.01E3", "-3.00E3", "-3.00E3", "3.01E3", "3.01E3", "3.02E3", in TestRoundingScientific10542()
7930 "-3.01E3", "-3.00E3", "-3.00E3", "3.01E3", "3.02E3", "3.02E3", in TestRoundingScientific10542()
7931 "-3.01E3", "-3.01E3", "-3.00E3", "3.01E3", "3.02E3", "3.02E3", in TestRoundingScientific10542()
7932 "-3.01E3", "-3.01E3", "-3.01E3", "3.02E3", "3.02E3", "3.02E3"}; in TestRoundingScientific10542()
7942 /* Commented out for now until we decide how rounding to zero should work, +0 vs. -0 in TestRoundingScientific10542()
7944 double values[] = {0.0, -0.0}; in TestRoundingScientific10542()
7947 "0.00E0", "-0.00E0", in TestRoundingScientific10542()
7948 "0.00E0", "-0.00E0", in TestRoundingScientific10542()
7949 "0.00E0", "-0.00E0", in TestRoundingScientific10542()
7950 "0.00E0", "-0.00E0", in TestRoundingScientific10542()
7951 "0.00E0", "-0.00E0", in TestRoundingScientific10542()
7952 "0.00E0", "-0.00E0", in TestRoundingScientific10542()
7953 "0.00E0", "-0.00E0"}; in TestRoundingScientific10542()
7966 double values[] = {1e25, 1e25 + 1e15, 1e25 - 1e15}; in TestRoundingScientific10542()
7986 double values[] = {-1e25, -1e25 + 1e15, -1e25 - 1e15}; in TestRoundingScientific10542()
7989 "-1.00E25", "-9.99E24", "-1.00E25", in TestRoundingScientific10542()
7990 "-1.00E25", "-9.99E24", "-1.00E25", in TestRoundingScientific10542()
7991 "-1.00E25", "-1.00E25", "-1.01E25", in TestRoundingScientific10542()
7992 "-1.00E25", "-1.00E25", "-1.00E25", in TestRoundingScientific10542()
7993 "-1.00E25", "-1.00E25", "-1.00E25", in TestRoundingScientific10542()
7994 "-1.00E25", "-1.00E25", "-1.00E25", in TestRoundingScientific10542()
7995 "-1.00E25", "-1.00E25", "-1.01E25"}; in TestRoundingScientific10542()
8006 double values[] = {1e-25, 1e-25 + 1e-35, 1e-25 - 1e-35}; in TestRoundingScientific10542()
8009 "1.00E-25", "1.01E-25", "1.00E-25", in TestRoundingScientific10542()
8010 "1.00E-25", "1.00E-25", "9.99E-26", in TestRoundingScientific10542()
8011 "1.00E-25", "1.00E-25", "9.99E-26", in TestRoundingScientific10542()
8012 "1.00E-25", "1.00E-25", "1.00E-25", in TestRoundingScientific10542()
8013 "1.00E-25", "1.00E-25", "1.00E-25", in TestRoundingScientific10542()
8014 "1.00E-25", "1.00E-25", "1.00E-25", in TestRoundingScientific10542()
8015 "1.00E-25", "1.01E-25", "1.00E-25"}; in TestRoundingScientific10542()
8026 double values[] = {-1e-25, -1e-25 + 1e-35, -1e-25 - 1e-35}; in TestRoundingScientific10542()
8029 "-1.00E-25", "-9.99E-26", "-1.00E-25", in TestRoundingScientific10542()
8030 "-1.00E-25", "-9.99E-26", "-1.00E-25", in TestRoundingScientific10542()
8031 "-1.00E-25", "-1.00E-25", "-1.01E-25", in TestRoundingScientific10542()
8032 "-1.00E-25", "-1.00E-25", "-1.00E-25", in TestRoundingScientific10542()
8033 "-1.00E-25", "-1.00E-25", "-1.00E-25", in TestRoundingScientific10542()
8034 "-1.00E-25", "-1.00E-25", "-1.00E-25", in TestRoundingScientific10542()
8035 "-1.00E-25", "-1.00E-25", "-1.01E-25"}; in TestRoundingScientific10542()
8054 fmt.format(-0.0, out); in TestZeroScientific10547()
8055 assertEquals("format", "-0.00E0", out, true); in TestZeroScientific10547()
8088 (Formattable)(double)-1234.5, "($1,234.50)", TRUE, status); in TestAccountingCurrency()
8092 (Formattable)(double)-0.2, "($0.20)", TRUE, status); in TestAccountingCurrency()
8096 (Formattable)(double)-1000.5, UnicodeString("(\\uFFE51,000)").unescape(), FALSE, status); in TestAccountingCurrency()
8098 …(Formattable)(double)-23456.7, UnicodeString("-23.456,70\\u00A0\\u20AC").unescape(), TRUE, status); in TestAccountingCurrency()
8102 (Formattable)(double)-0.2, UnicodeString("(IDR\\u00A00.20)").unescape(), TRUE, status); in TestAccountingCurrency()
8106 (Formattable)(double)-0.2, UnicodeString("(0,20\\u00A0\\u20AC)").unescape(), TRUE, status); in TestAccountingCurrency()
8113 …* prior to ICU-20631, currency was not filled in for accounting, cash and standard, so currency pl…
8123 …assertEquals("Currency instance is not for the desired locale for CURRENCYSTYLE", curFmt->getCurre… in TestCurrencyFormatForMissingLocale()
8125 curFmt->format(-1234.5, currBuf); in TestCurrencyFormatForMissingLocale()
8126 …assertEquals("NumberFormat format outputs wrong value for CURRENCYSTYLE", u"-1.234,50\u00A0\u20AC"… in TestCurrencyFormatForMissingLocale()
8129 … instance is not for the desired locale for ACCOUNTINGCURRENCYSTYLE", accFmt->getCurrency(), "EUR"… in TestCurrencyFormatForMissingLocale()
8131 accFmt->format(-1234.5, accBuf); in TestCurrencyFormatForMissingLocale()
8135 …assertEquals("Currency instance is not for the desired locale for CASHCURRENCYSTYLE", cashFmt->get… in TestCurrencyFormatForMissingLocale()
8137 cashFmt->format(-1234.5, cashBuf); in TestCurrencyFormatForMissingLocale()
8138 …assertEquals("NumberFormat format outputs wrong value for CASHCURRENCYSTYLE", u"-1.234,50\u00A0\u2… in TestCurrencyFormatForMissingLocale()
8141 …cy instance is not for the desired locale for STANDARDCURRENCYSTYLE", stdFmt->getCurrency(), "EUR"… in TestCurrencyFormatForMissingLocale()
8143 stdFmt->format(-1234.5, stdBuf); in TestCurrencyFormatForMissingLocale()
8144 …assertEquals("NumberFormat format outputs wrong value for STANDARDCURRENCYSTYLE", u"-1.234,50\u00A… in TestCurrencyFormatForMissingLocale()
8163 fmtClone->setFormatWidth(fmtBase.getFormatWidth() + 32); in TestEquality()
8192 fmt->format(agent,original); in TestCurrencyUsage()
8196 UCurrencyUsage curUsage = fmt->getCurrencyUsage(); in TestCurrencyUsage()
8197 … assertEquals("Test usage getter - standard", (int32_t)curUsage, (int32_t)UCURR_USAGE_STANDARD); in TestCurrencyUsage()
8199 fmt->setCurrencyUsage(UCURR_USAGE_CASH, &status); in TestCurrencyUsage()
8208 UCurrencyUsage curUsage = fmt->getCurrencyUsage(); in TestCurrencyUsage()
8209 assertEquals("Test usage getter - cash", (int32_t)curUsage, (int32_t)UCURR_USAGE_CASH); in TestCurrencyUsage()
8212 fmt->format(agent,cash_currency); in TestCurrencyUsage()
8229 fmt->format(agent, original_rounding); in TestCurrencyUsage()
8231 fmt->setCurrencyUsage(UCURR_USAGE_CASH, &status); in TestCurrencyUsage()
8240 fmt->format(agent, cash_rounding_currency); in TestCurrencyUsage()
8255 fmt->setCurrencyUsage(UCURR_USAGE_CASH, &status); in TestCurrencyUsage()
8264 fmt->setCurrencyUsage(UCURR_USAGE_STANDARD, &status); in TestCurrencyUsage()
8265 fmt->format(agent, cur_original); in TestCurrencyUsage()
8268 fmt->setCurrency(CUR_PKR, status); in TestCurrencyUsage()
8272 fmt->format(agent, PKR_changed); in TestCurrencyUsage()
8287 // away a simple round-trip conversion from int64_t -> double -> int64_t.
8291 for (int64_t num = MAX_INT64_IN_DOUBLE-10; num<=MAX_INT64_IN_DOUBLE; num++) { in TestDoubleLimit11439()
8301 for (int64_t num = -MAX_INT64_IN_DOUBLE+10; num>=-MAX_INT64_IN_DOUBLE; num--) { in TestDoubleLimit11439()
8320 dataerrln("Error creating DecimalFormat - %s", u_errorName(status)); in TestGetAffixes()
8326 assertEquals("", "-US dollars ", fmt.getNegativePrefix(affixStr)); in TestGetAffixes()
8377 dataerrln("Error creating DecimalFormat - %s", u_errorName(status)); in TestToPatternScientific11648()
8405 errln("Took %f", (double) (clock() - start) / CLOCKS_PER_SEC); in TestBenchmark()
8420 errln("Took %f", (double) (clock() - start) / CLOCKS_PER_SEC); in TestBenchmark()
8434 errln("Took %f", (double) (clock() - start) / CLOCKS_PER_SEC); in TestBenchmark()
8443 dataerrln("Error creating NumberFormat - %s", u_errorName(status)); in TestFractionalDigitsForCurrency()
8447 fmt->setCurrency(JPY, status); in TestFractionalDigitsForCurrency()
8451 assertEquals("", 0, fmt->getMaximumFractionDigits()); in TestFractionalDigitsForCurrency()
8460 dataerrln("Error creating NumberFormat - %s", u_errorName(status)); in TestFormatCurrencyPlural()
8464 fmt->format(11234.567, formattedNum, NULL, status); in TestFormatCurrencyPlural()
8475 dataerrln("Error creating DecimalFormat - %s", u_errorName(status)); in TestCtorApplyPatternDifference()
8493 double negAmt = -9876.543; in Test11868()
8506 fmt->format(posAmt, result, fpCurr, status); in Test11868()
8518 {0, -1, 0}}; in Test11868()
8521 fmt->format(posAmt, result, &iter, status); in Test11868()
8527 fmt->format(negAmt, result, fpCurr, status); in Test11868()
8528 assertEquals("", "-9,876.54 US dollars", result); in Test11868()
8541 {0, -1, 0}}; in Test11868()
8544 fmt->format(negAmt, result, &iter, status); in Test11868()
8545 assertEquals("", "-9,876.54 US dollars", result); in Test11868()
8553 dq.setToDouble(-0.0); in Test10727_RoundingZero()
8563 ((DecimalFormat*) nf.getAlias())->applyPattern(u"#,##0.0 ¤¤¤", status); in Test11739_ParseLongCurrency()
8565 LocalPointer<CurrencyAmount> result(nf->parseCurrency(u"1.500 амерички долар", ppos)); in Test11739_ParseLongCurrency()
8566 assertEquals("Should parse to 1500 USD", -1, ppos.getErrorIndex()); in Test11739_ParseLongCurrency()
8567 if (ppos.getErrorIndex() != -1) { in Test11739_ParseLongCurrency()
8570 assertEquals("Should parse to 1500 USD", 1500LL, result->getNumber().getInt64(status)); in Test11739_ParseLongCurrency()
8571 assertEquals("Should parse to 1500 USD", u"USD", result->getISOCurrency()); in Test11739_ParseLongCurrency()
8580 // TODO(13034): Re-enable this test when support is added in ICU4C. in Test13035_MultiCodePointPaddingInPattern()
8581 //assertEquals("Multi-codepoint padding should not be split", u"aநிநி12b", result); in Test13035_MultiCodePointPaddingInPattern()
8585 …assertEquals("Single-codepoint padding should not be split", u"a\U0001F601\U0001F60112b", result, … in Test13035_MultiCodePointPaddingInPattern()
8596 df->setLenient(FALSE); in Test13737_ParseScientificStrict()
8611 dfmt->setCurrency(USD); in Test11376_getAndSetPositivePrefix()
8614 // This line should be a no-op. I am setting the positive prefix in Test11376_getAndSetPositivePrefix()
8616 dfmt->setPositivePrefix(dfmt->getPositivePrefix(result)); in Test11376_getAndSetPositivePrefix()
8619 assertEquals("", "$3.78", dfmt->format(3.78, appendTo, status)); in Test11376_getAndSetPositivePrefix()
8632 assertEquals("", u" (unknown currency)", dfmt->getPositiveSuffix(result)); in Test11376_getAndSetPositivePrefix()
8633 dfmt->setCurrency(USD); in Test11376_getAndSetPositivePrefix()
8637 assertEquals("", " US dollars", dfmt->getPositiveSuffix(result)); in Test11376_getAndSetPositivePrefix()
8639 assertEquals("", "3.78 US dollars", dfmt->format(3.78, appendTo, status)); in Test11376_getAndSetPositivePrefix()
8640 assertEquals("", " US dollars", dfmt->getPositiveSuffix(result)); in Test11376_getAndSetPositivePrefix()
8641 dfmt->setPositiveSuffix("booya"); in Test11376_getAndSetPositivePrefix()
8643 assertEquals("", "3.78booya", dfmt->format(3.78, appendTo, status)); in Test11376_getAndSetPositivePrefix()
8644 assertEquals("", "booya", dfmt->getPositiveSuffix(result)); in Test11376_getAndSetPositivePrefix()
8662 {0, -1, 0}}; in Test11475_signRecognition()
8670 DecimalFormat fmt("++0.00+;-(#)--", sym, status); in Test11475_signRecognition()
8681 {0, -1, 0}}; in Test11475_signRecognition()
8695 {0, -1, 0}}; in Test11475_signRecognition()
8698 fmt.format(-2.3, result, &iter, status); in Test11475_signRecognition()
8699 assertEquals("", "-(2.30)--", result); in Test11475_signRecognition()
8720 assertEquals("", "-US dollars ", fmt.getNegativePrefix(affixStr)); in Test11640_getAffixes()
8781 df->format(12345, actual, status); in Test13391_chakmaParsing()
8786 df->parse(expected, result, status); in Test13391_chakmaParsing()
8794 df->format(130, actualScientific, status); in Test13391_chakmaParsing()
8800 df->parse(expectedScientific, resultScientific, status); in Test13391_chakmaParsing()
8811 if (expected[idx].spos == -1) { in verifyFieldPositionIterator()
8820 if (expected[idx].spos != -1) { in verifyFieldPositionIterator()
8852 fmt1->setCurrency(u"PTE", status); in Test11035_FormatCurrencyAmount()
8855 fmt1->format(amount, actualSetCurrency); in Test11035_FormatCurrencyAmount()
8861 fmt2->format(amount, actualLocaleString); in Test11035_FormatCurrencyAmount()
8874 nf->setMaximumFractionDigits(40); in Test11318_DoubleConversion()
8875 nf->setMaximumIntegerDigits(40); in Test11318_DoubleConversion()
8877 nf->format(999999999999999.9, appendTo); in Test11318_DoubleConversion()
8886 df1->setLenient(TRUE); in TestParsePercentRegression()
8887 df2->setLenient(TRUE); in TestParsePercentRegression()
8892 df1->parse("50%", result, ppos); in TestParsePercentRegression()
8899 df2->parse("50%", result, ppos); in TestParsePercentRegression()
8906 df2->parse("50", result, ppos); in TestParsePercentRegression()
8920 df.setMultiplierScale(-1); in TestMultiplierWithScale()
8921 expect2(df, 100, u"50"); // round-trip test in TestMultiplierWithScale()
8936 -0.0, in TestFastFormatInt32()
8956 static_cast<double>(INT32_MAX) - 1, in TestFastFormatInt32()
8959 static_cast<double>(INT32_MIN) - 1, in TestFastFormatInt32()
8966 df->format(num, actual); in TestFastFormatInt32()
9021 assertEquals("NaN should round-trip", u"NaN", formatResult); in TestParseNaN()
9027 DecimalFormat df("0", {"en-US", status}, status); in TestFormatFailIfMoreThanMaxDigits()
9043 DecimalFormat df(u"0", {"en-US", status}, status); in TestParseCaseSensitive()
9060 DecimalFormat df(u"0", {"en-US", status}, status); in TestParseNoExponent()
9077 DecimalFormat df(u"0", {"en-US", status}, status); in TestSignAlwaysShown()
9093 DecimalFormat df(u"#,##0", {"en-US", status}, status); in TestMinimumGroupingDigits()
9097 assertEquals("Coverage for getter 1", -1, df.getMinimumGroupingDigits()); in TestMinimumGroupingDigits()
9109 // Test special values -1, UNUM_MINIMUM_GROUPING_DIGITS_AUTO and in TestMinimumGroupingDigits()
9117 { "en-US", 1, 1000, u"1,000" }, in TestMinimumGroupingDigits()
9118 { "en-US", 1, 10000, u"10,000" }, in TestMinimumGroupingDigits()
9119 { "en-US", UNUM_MINIMUM_GROUPING_DIGITS_AUTO, 1000, u"1,000" }, in TestMinimumGroupingDigits()
9120 { "en-US", UNUM_MINIMUM_GROUPING_DIGITS_AUTO, 10000, u"10,000" }, in TestMinimumGroupingDigits()
9121 { "en-US", UNUM_MINIMUM_GROUPING_DIGITS_MIN2, 1000, u"1000" }, in TestMinimumGroupingDigits()
9122 { "en-US", UNUM_MINIMUM_GROUPING_DIGITS_MIN2, 10000, u"10,000" }, in TestMinimumGroupingDigits()
9185 pFormat->setMaximumFractionDigits(0); in Test13055_PercentageRounding()
9186 pFormat->setRoundingMode(DecimalFormat::kRoundHalfEven); in Test13055_PercentageRounding()
9187 pFormat->format(2.155, actual); in Test13055_PercentageRounding()
9196 dfs->setSymbol(DecimalFormatSymbols::kMinusSignSymbol, u"a∸"); in Test11839()
9197 dfs->setSymbol(DecimalFormatSymbols::kPlusSignSymbol, u"b∔"); // ∔ U+2214 DOT PLUS in Test11839()
9198 DecimalFormat df(u"0.00+;0.00-", dfs.orphan(), errorCode); in Test11839()
9200 df.format(-1.234, result, errorCode); in Test11839()
9201 assertEquals("Locale-specific minus sign should be used", u"1.23a∸", result); in Test11839()
9203 assertEquals("Locale-specific plus sign should be used", u"1.23b∔", result); in Test11839()
9204 // Test round-trip with parse in Test11839()
9205 expect2(df, -456, u"456.00a∸"); in Test11839()
9232 fmt->applyPattern(pattern, status); in Test11645_ApplyPatternEquality()
9237 assertFalse("Value before setter", fmtCopy->getMultiplier() == newMultiplier); in Test11645_ApplyPatternEquality()
9238 fmtCopy->setMultiplier(newMultiplier); in Test11645_ApplyPatternEquality()
9239 assertEquals("Value after setter", fmtCopy->getMultiplier(), newMultiplier); in Test11645_ApplyPatternEquality()
9240 fmtCopy->applyPattern(pattern, status); in Test11645_ApplyPatternEquality()
9241 assertEquals("Value after applyPattern", fmtCopy->getMultiplier(), newMultiplier); in Test11645_ApplyPatternEquality()
9246 assertFalse("Value before setter", fmtCopy->getRoundingMode() == newRoundingMode); in Test11645_ApplyPatternEquality()
9247 fmtCopy->setRoundingMode(newRoundingMode); in Test11645_ApplyPatternEquality()
9248 assertEquals("Value after setter", fmtCopy->getRoundingMode(), newRoundingMode); in Test11645_ApplyPatternEquality()
9249 fmtCopy->applyPattern(pattern, status); in Test11645_ApplyPatternEquality()
9250 assertEquals("Value after applyPattern", fmtCopy->getRoundingMode(), newRoundingMode); in Test11645_ApplyPatternEquality()
9255 assertFalse("Value before setter", fmtCopy->getCurrency() == newCurrency); in Test11645_ApplyPatternEquality()
9256 fmtCopy->setCurrency(newCurrency); in Test11645_ApplyPatternEquality()
9257 assertEquals("Value after setter", fmtCopy->getCurrency(), newCurrency); in Test11645_ApplyPatternEquality()
9258 fmtCopy->applyPattern(pattern, status); in Test11645_ApplyPatternEquality()
9259 assertEquals("Value after applyPattern", fmtCopy->getCurrency(), newCurrency); in Test11645_ApplyPatternEquality()
9264 assertFalse("Value before setter", fmtCopy->getCurrencyUsage() == newCurrencyUsage); in Test11645_ApplyPatternEquality()
9265 fmtCopy->setCurrencyUsage(newCurrencyUsage, status); in Test11645_ApplyPatternEquality()
9266 assertEquals("Value after setter", fmtCopy->getCurrencyUsage(), newCurrencyUsage); in Test11645_ApplyPatternEquality()
9267 fmtCopy->applyPattern(pattern, status); in Test11645_ApplyPatternEquality()
9268 assertEquals("Value after applyPattern", fmtCopy->getCurrencyUsage(), newCurrencyUsage); in Test11645_ApplyPatternEquality()
9281 df1->applyPattern(u"0.00", errorCode); in Test12567()
9282 df2->applyPattern(u"0.00", errorCode); in Test12567()
9285 df2->setPositivePrefix(u"abc"); in Test12567()
9321 DecimalFormat df(u"0%", {"en-us", status}, status); in Test20073_StrictPercentParseErrorIndex()
9341 assertEquals("Secondary grouping should round-trip", 3, df.getSecondaryGroupingSize()); in Test13056_GroupingSize()
9400 (DecimalFormat*)NumberFormat::createInstance("en-ZA", status), status); in Test13148_ParseGroupingSeparators()
9403 DecimalFormatSymbols symbols = *fmt->getDecimalFormatSymbols(); in Test13148_ParseGroupingSeparators()
9407 fmt->setDecimalFormatSymbols(symbols); in Test13148_ParseGroupingSeparators()
9409 fmt->parse(u"300,000", number, status); in Test13148_ParseGroupingSeparators()
9441 df->format(StringPiece("1.23456789E400"), result, nullptr, status); in Test11913_BigDecimal()
9469 assertEquals("Triple-currency should give long name on getPositivePrefix", in Test11640_TripleCurrencySymbol()
9480 nf->format(5142.3, result, &fpi, status); in Test13763_FieldPositionIteratorOffset()
9496 … NumberFormat::createInstance("en-us", UNumberFormatStyle::UNUM_CURRENCY_PLURAL, status), status); in Test13777_ParseLongNameNonCurrencyMode()
9550 u"-", in Test13804_EmptyStringsWhenParsing()
9588 nf->parse(u"1E-2147483648", result, status); in Test20037_ScientificIntegerOverflow()
9596 nf->parse(u"1E-2147483647E-1", result, status); in Test20037_ScientificIntegerOverflow()
9599 u"1E-2147483647", in Test20037_ScientificIntegerOverflow()
9604 nf->parse(u".0003e-2147483644", result, status); in Test20037_ScientificIntegerOverflow()
9607 u"3E-2147483648", in Test20037_ScientificIntegerOverflow()
9612 nf->parse(u"9876e2147483643", result, status); in Test20037_ScientificIntegerOverflow()
9629 nf->parse(input, result, status); in Test20037_ScientificIntegerOverflow()
9651 nf->parse(bigString, result, status); in Test13840_ParseLongStringCrash()
9664 assertEquals("Should round-trip without crashing", expectedUString, actualUString); in Test13840_ParseLongStringCrash()
9689 … LocalPointer<NumberFormat> nf(NumberFormat::createCurrencyInstance("en-US", status), status); in Test13850_EmptyStringCurrency()
9692 nf->format(1, actual, status); in Test13850_EmptyStringCurrency()
9695 nf->setCurrency(cas.currencyArg, status); in Test13850_EmptyStringCurrency()
9700 nf->format(1, actual.remove(), status); in Test13850_EmptyStringCurrency()
9713 u"¤#,##0.00", fmt->toPattern(result.remove())); in Test20348_CurrencyPrefixOverride()
9715 u"¤", fmt->getPositivePrefix(result.remove())); in Test20348_CurrencyPrefixOverride()
9717 u"-¤", fmt->getNegativePrefix(result.remove())); in Test20348_CurrencyPrefixOverride()
9719 u"\u00A4100.00", fmt->format(100, result.remove(), NULL, status)); in Test20348_CurrencyPrefixOverride()
9721 fmt->setPositivePrefix(u"$"); in Test20348_CurrencyPrefixOverride()
9723 u"$#,##0.00;-\u00A4#,##0.00", fmt->toPattern(result.remove())); in Test20348_CurrencyPrefixOverride()
9725 u"$", fmt->getPositivePrefix(result.remove())); in Test20348_CurrencyPrefixOverride()
9727 u"-¤", fmt->getNegativePrefix(result.remove())); in Test20348_CurrencyPrefixOverride()
9729 u"$100.00", fmt->format(100, result.remove(), NULL, status)); in Test20348_CurrencyPrefixOverride()
9731 fmt->setNegativePrefix(u"-$"); in Test20348_CurrencyPrefixOverride()
9733 u"$#,##0.00;'-'$#,##0.00", fmt->toPattern(result.remove())); in Test20348_CurrencyPrefixOverride()
9735 u"$", fmt->getPositivePrefix(result.remove())); in Test20348_CurrencyPrefixOverride()
9737 u"-$", fmt->getNegativePrefix(result.remove())); in Test20348_CurrencyPrefixOverride()
9739 u"$100.00", fmt->format(100, result.remove(), NULL, status)); in Test20348_CurrencyPrefixOverride()
9750 decimalFormat->setCurrency(u"EEK"); in Test20956_MonetarySymbolGetters()
9752 const DecimalFormatSymbols* decimalFormatSymbols = decimalFormat->getDecimalFormatSymbols(); in Test20956_MonetarySymbolGetters()
9755 decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kMonetarySeparatorSymbol)); in Test20956_MonetarySymbolGetters()
9758 decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kDecimalSeparatorSymbol)); in Test20956_MonetarySymbolGetters()
9761 decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kMonetaryGroupingSeparatorSymbol)); in Test20956_MonetarySymbolGetters()
9764 decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kGroupingSeparatorSymbol)); in Test20956_MonetarySymbolGetters()
9767 decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kCurrencySymbol)); in Test20956_MonetarySymbolGetters()
9770 decimalFormat->format(12345.12, sb, status); in Test20956_MonetarySymbolGetters()
9781 u"#,##0.###", fmt->toPattern(result.remove())); in Test20358_GroupingInPattern()
9783 fmt->isGroupingUsed()); in Test20358_GroupingInPattern()
9785 u"54,321", fmt->format(54321, result.remove(), NULL, status)); in Test20358_GroupingInPattern()
9787 fmt->setGroupingUsed(false); in Test20358_GroupingInPattern()
9789 u"0.###", fmt->toPattern(result.remove())); in Test20358_GroupingInPattern()
9791 fmt->isGroupingUsed()); in Test20358_GroupingInPattern()
9793 u"54321", fmt->format(54321, result.remove(), NULL, status)); in Test20358_GroupingInPattern()
9795 fmt->setGroupingUsed(true); in Test20358_GroupingInPattern()
9797 u"#,##0.###", fmt->toPattern(result.remove())); in Test20358_GroupingInPattern()
9799 fmt->isGroupingUsed()); in Test20358_GroupingInPattern()
9801 u"54,321", fmt->format(54321, result.remove(), NULL, status)); in Test20358_GroupingInPattern()
9812 nf->format(1.1, result.remove(), status)); in Test13731_DefaultCurrency()
9813 assertEquals("currency", u"XXX", nf->getCurrency()); in Test13731_DefaultCurrency()
9820 nf->format(1.1, result.remove(), status)); in Test13731_DefaultCurrency()
9821 assertEquals("currency", u"XXX", nf->getCurrency()); in Test13731_DefaultCurrency()
9828 nf->format(1.1, result.remove(), status)); in Test13731_DefaultCurrency()
9829 assertEquals("currency", u"XXX", nf->getCurrency()); in Test13731_DefaultCurrency()
9836 "ro-RO", UNumberFormatStyle::UNUM_CURRENCY_PLURAL, status), status); in Test20499_CurrencyVisibleDigitsPlural()
9840 nf->format(24, actual, status); in Test20499_CurrencyVisibleDigitsPlural()
9892 NumberFormat::createInstance("en-US", UNUM_CURRENCY_PLURAL, status))); in Test20961_CurrencyPluralPattern()
9897 decimalFormat->toPattern(result); in Test20961_CurrencyPluralPattern()
9936 DecimalFormat::createInstance("en-US", UNUM_CURRENCY_PLURAL, status))); in Test21134_ToNumberFormatter()
9937 if (auto ptr = inner->toNumberFormatter(status)) { in Test21134_ToNumberFormatter()
9953 auto result3 = outer3->formatDouble(99, status); in Test21134_ToNumberFormatter()
10028 parsedStrictValue = ca_strict->getNumber().getInt64(); in Test13733_StrictAndLenient()
10036 Formattable parsedNumber_lenient = ca_lenient->getNumber(); in Test13733_StrictAndLenient()
10038 parsedLenientValue = ca_lenient->getNumber().getInt64(); in Test13733_StrictAndLenient()
10097 fmt->setMinimumFractionDigits(4); in Test10997_FormatCurrency()
10098 fmt->setMaximumFractionDigits(4); in Test10997_FormatCurrency()
10104 fmt->format(usdAmnt, str, fp, status); in Test10997_FormatCurrency()
10109 fmt->format(eurAmnt, str2, fp, status); in Test10997_FormatCurrency()
10133 LocalPointer<NumberFormat> nf(NumberFormat::createCurrencyInstance("en-GB", status)); in Test21556_CurrencyAsDecimal()
10135 df->applyPattern(u"a0¤00b", status); in Test21556_CurrencyAsDecimal()
10138 df->format(3.141, result, fp); in Test21556_CurrencyAsDecimal()
10141 assertEquals("Via applyPattern: toPattern", u"a0¤00b", df->toPattern(pattern)); in Test21556_CurrencyAsDecimal()