Index: icu46/source/test/intltest/numfmtst.h |
=================================================================== |
--- icu46/source/test/intltest/numfmtst.h (revision 0) |
+++ icu46/source/test/intltest/numfmtst.h (revision 0) |
@@ -0,0 +1,253 @@ |
+/************************************************************************ |
+ * COPYRIGHT: |
+ * Copyright (c) 1997-2010, International Business Machines Corporation |
+ * and others. All Rights Reserved. |
+ ************************************************************************/ |
+ |
+#ifndef _NUMBERFORMATTEST_ |
+#define _NUMBERFORMATTEST_ |
+ |
+#include "unicode/utypes.h" |
+ |
+#if !UCONFIG_NO_FORMATTING |
+ |
+#include "unicode/numfmt.h" |
+#include "unicode/decimfmt.h" |
+#include "caltztst.h" |
+ |
+/** |
+ * Performs various in-depth test on NumberFormat |
+ **/ |
+class NumberFormatTest: public CalendarTimeZoneTest { |
+ |
+ // IntlTest override |
+ void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par ); |
+ public: |
+ |
+ /** |
+ * Test APIs (to increase code coverage) |
+ */ |
+ void TestAPI(void); |
+ |
+ void TestCoverage(void); |
+ |
+ /** |
+ * Test the handling of quotes |
+ **/ |
+ void TestQuotes(void); |
+ /** |
+ * Test patterns with exponential representation |
+ **/ |
+ void TestExponential(void); |
+ /** |
+ * Test handling of patterns with currency symbols |
+ **/ |
+ void TestCurrencySign(void); |
+ /** |
+ * Test different format patterns |
+ **/ |
+ void TestPatterns(void); |
+ /** |
+ * API coverage for DigitList |
+ **/ |
+ //void TestDigitList(void); |
+ |
+ /** |
+ * Test localized currency patterns. |
+ */ |
+ void TestCurrency(void); |
+ |
+ /** |
+ * Test the Currency object handling, new as of ICU 2.2. |
+ */ |
+ void TestCurrencyObject(void); |
+ |
+ void TestCurrencyPatterns(void); |
+ |
+ /** |
+ * Do rudimentary testing of parsing. |
+ */ |
+ void TestParse(void); |
+ /** |
+ * Test proper rounding by the format method. |
+ */ |
+ void TestRounding487(void); |
+ |
+ // New tests for alphaWorks upgrade |
+ void TestExponent(void); |
+ |
+ void TestScientific(void); |
+ |
+ void TestScientific2(void); |
+ |
+ void TestScientificGrouping(void); |
+ |
+ void TestInt64(void); |
+ |
+ void TestSurrogateSupport(void); |
+ |
+ /** |
+ * Test the functioning of the secondary grouping value. |
+ */ |
+ void TestSecondaryGrouping(void); |
+ |
+ void TestWhiteSpaceParsing(void); |
+ |
+ void TestComplexCurrency(void); |
+ |
+ void TestPad(void); |
+ void TestPatterns2(void); |
+ |
+ /** |
+ * Test currency registration. |
+ */ |
+ void TestRegCurrency(void); |
+ |
+ void TestCurrencyNames(void); |
+ |
+ void TestCurrencyAmount(void); |
+ |
+ void TestCurrencyUnit(void); |
+ |
+ void TestSymbolsWithBadLocale(void); |
+ |
+ void TestAdoptDecimalFormatSymbols(void); |
+ |
+ void TestPerMill(void); |
+ |
+ void TestIllegalPatterns(void); |
+ |
+ void TestCases(void); |
+ |
+ void TestJB3832(void); |
+ |
+ void TestHost(void); |
+ |
+ void TestHostClone(void); |
+ |
+ void TestCurrencyFormat(void); |
+ |
+ /* Port of ICU4J rounding test. */ |
+ void TestRounding(void); |
+ |
+ void TestNonpositiveMultiplier(void); |
+ |
+ void TestNumberingSystems(); |
+ |
+ |
+ void TestSpaceParsing(); |
+ void TestMultiCurrencySign(); |
+ void TestCurrencyFormatForMixParsing(); |
+ void TestDecimalFormatCurrencyParse(); |
+ void TestCurrencyIsoPluralFormat(); |
+ void TestCurrencyParsing(); |
+ void TestParseCurrencyInUCurr(); |
+ void TestFormatAttributes(); |
+ void TestFieldPositionIterator(); |
+ |
+ void TestDecimal(); |
+ void TestCurrencyFractionDigits(); |
+ |
+ void TestExponentParse(); |
+ |
+ private: |
+ |
+ static UBool equalValue(const Formattable& a, const Formattable& b); |
+ |
+ void expectPositions(FieldPositionIterator& iter, int32_t *values, int32_t tupleCount, |
+ const UnicodeString& str); |
+ |
+ void expectPosition(FieldPosition& pos, int32_t id, int32_t start, int32_t limit, |
+ const UnicodeString& str); |
+ |
+ void expect2(NumberFormat& fmt, const Formattable& n, const UnicodeString& str); |
+ |
+ void expect3(NumberFormat& fmt, const Formattable& n, const UnicodeString& str); |
+ |
+ void expect2(NumberFormat& fmt, const Formattable& n, const char* str) { |
+ expect2(fmt, n, UnicodeString(str, "")); |
+ } |
+ |
+ void expect2(NumberFormat* fmt, const Formattable& n, const UnicodeString& str, UErrorCode ec); |
+ |
+ void expect2(NumberFormat* fmt, const Formattable& n, const char* str, UErrorCode ec) { |
+ expect2(fmt, n, UnicodeString(str, ""), ec); |
+ } |
+ |
+ void expect(NumberFormat& fmt, const UnicodeString& str, const Formattable& n); |
+ |
+ void expect(NumberFormat& fmt, const char *str, const Formattable& n) { |
+ expect(fmt, UnicodeString(str, ""), n); |
+ } |
+ |
+ void expect(NumberFormat& fmt, const Formattable& n, |
+ const UnicodeString& exp, UBool rt=TRUE); |
+ |
+ void expect(NumberFormat& fmt, const Formattable& n, |
+ const char *exp, UBool rt=TRUE) { |
+ expect(fmt, n, UnicodeString(exp, ""), rt); |
+ } |
+ |
+ void expect(NumberFormat* fmt, const Formattable& n, |
+ const UnicodeString& exp, UErrorCode); |
+ |
+ void expect(NumberFormat* fmt, const Formattable& n, |
+ const char *exp, UErrorCode errorCode) { |
+ expect(fmt, n, UnicodeString(exp, ""), errorCode); |
+ } |
+ |
+ void expectCurrency(NumberFormat& nf, const Locale& locale, |
+ double value, const UnicodeString& string); |
+ |
+ void expectPad(DecimalFormat& fmt, const UnicodeString& pat, |
+ int32_t pos, int32_t width, UChar pad); |
+ |
+ void expectPad(DecimalFormat& fmt, const char *pat, |
+ int32_t pos, int32_t width, UChar pad) { |
+ expectPad(fmt, UnicodeString(pat, ""), pos, width, pad); |
+ } |
+ |
+ void expectPad(DecimalFormat& fmt, const UnicodeString& pat, |
+ int32_t pos, int32_t width, const UnicodeString& pad); |
+ |
+ void expectPad(DecimalFormat& fmt, const char *pat, |
+ int32_t pos, int32_t width, const UnicodeString& pad) { |
+ expectPad(fmt, UnicodeString(pat, ""), pos, width, pad); |
+ } |
+ |
+ void expectPat(DecimalFormat& fmt, const UnicodeString& exp); |
+ |
+ void expectPat(DecimalFormat& fmt, const char *exp) { |
+ expectPat(fmt, UnicodeString(exp, "")); |
+ } |
+ |
+ void expectPad(DecimalFormat& fmt, const UnicodeString& pat, |
+ int32_t pos); |
+ |
+ void expectPad(DecimalFormat& fmt, const char *pat, |
+ int32_t pos) { |
+ expectPad(fmt, pat, pos, 0, (UChar)0); |
+ } |
+ |
+ void expect_rbnf(NumberFormat& fmt, const UnicodeString& str, const Formattable& n); |
+ |
+ void expect_rbnf(NumberFormat& fmt, const Formattable& n, |
+ const UnicodeString& exp, UBool rt=TRUE); |
+ |
+ // internal utility routine |
+ static UnicodeString& escape(UnicodeString& s); |
+ |
+ enum { ILLEGAL = -1 }; |
+ |
+ // internal subtest used by TestRounding487 |
+ void roundingTest(NumberFormat& nf, double x, int32_t maxFractionDigits, const char* expected); |
+ |
+ // internal rounding checking for TestRounding |
+ void checkRounding(DecimalFormat* df, double base, int iterations, double increment); |
+ |
+ double checkRound(DecimalFormat* df, double iValue, double lastParsed); |
+}; |
+ |
+#endif /* #if !UCONFIG_NO_FORMATTING */ |
+ |
+#endif // _NUMBERFORMATTEST_ |
Property changes on: icu46/source/test/intltest/numfmtst.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |