| 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
|
|
|
|
|