2000-01-15 02:00:06 +00:00
|
|
|
/********************************************************************
|
|
|
|
* COPYRIGHT:
|
2003-12-19 23:18:51 +00:00
|
|
|
* Copyright (c) 1997-2003, International Business Machines Corporation and
|
2000-01-15 02:00:06 +00:00
|
|
|
* others. All Rights Reserved.
|
|
|
|
********************************************************************/
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
#ifndef _NUMBERFORMATREGRESSIONTEST_
|
|
|
|
#define _NUMBERFORMATREGRESSIONTEST_
|
|
|
|
|
2002-09-21 00:43:14 +00:00
|
|
|
#include "unicode/utypes.h"
|
|
|
|
|
|
|
|
#if !UCONFIG_NO_FORMATTING
|
|
|
|
|
2001-10-08 23:26:58 +00:00
|
|
|
#include "unicode/unistr.h"
|
1999-12-28 23:57:50 +00:00
|
|
|
#include "unicode/numfmt.h"
|
2001-10-08 23:26:58 +00:00
|
|
|
#include "unicode/decimfmt.h"
|
|
|
|
#include "intltest.h"
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Performs regression test for MessageFormat
|
|
|
|
**/
|
|
|
|
class NumberFormatRegressionTest: public IntlTest {
|
|
|
|
|
|
|
|
// IntlTest override
|
2000-08-14 21:42:36 +00:00
|
|
|
void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par );
|
1999-08-16 21:50:52 +00:00
|
|
|
public:
|
|
|
|
|
1999-12-22 22:57:04 +00:00
|
|
|
void Test4075713(void);
|
|
|
|
void Test4074620(void) ;
|
|
|
|
void Test4088161 (void);
|
|
|
|
void Test4087245 (void);
|
|
|
|
void Test4087535 (void);
|
|
|
|
void Test4088503 (void);
|
|
|
|
void Test4066646 (void);
|
1999-08-16 21:50:52 +00:00
|
|
|
float assignFloatValue(float returnfloat);
|
1999-12-22 22:57:04 +00:00
|
|
|
void Test4059870(void);
|
|
|
|
void Test4083018 (void);
|
|
|
|
void Test4071492 (void);
|
|
|
|
void Test4086575(void);
|
|
|
|
void Test4068693(void);
|
|
|
|
void Test4069754(void);
|
|
|
|
void Test4087251 (void);
|
|
|
|
void Test4090489 (void);
|
|
|
|
void Test4090504 (void);
|
|
|
|
void Test4095713 (void);
|
|
|
|
void Test4092561 (void);
|
|
|
|
void Test4092480 (void);
|
|
|
|
void Test4087244 (void);
|
|
|
|
void Test4070798 (void);
|
|
|
|
void Test4071005 (void);
|
|
|
|
void Test4071014 (void);
|
|
|
|
void Test4071859 (void);
|
|
|
|
void Test4093610(void);
|
1999-08-16 21:50:52 +00:00
|
|
|
void roundingTest(DecimalFormat *df, double x, UnicodeString& expected);
|
1999-12-22 22:57:04 +00:00
|
|
|
void Test4098741(void);
|
|
|
|
void Test4074454(void);
|
|
|
|
void Test4099404(void);
|
|
|
|
void Test4101481(void);
|
|
|
|
void Test4052223(void);
|
|
|
|
void Test4061302(void);
|
|
|
|
void Test4062486(void);
|
|
|
|
void Test4108738(void);
|
|
|
|
void Test4106658(void);
|
|
|
|
void Test4106662(void);
|
|
|
|
void Test4114639(void);
|
|
|
|
void Test4106664(void);
|
|
|
|
void Test4106667(void);
|
|
|
|
void Test4110936(void);
|
|
|
|
void Test4122840(void);
|
|
|
|
void Test4125885(void);
|
|
|
|
void Test4134034(void);
|
|
|
|
void Test4134300(void);
|
|
|
|
void Test4140009(void);
|
|
|
|
void Test4141750(void);
|
|
|
|
void Test4145457(void);
|
|
|
|
void Test4147295(void);
|
|
|
|
void Test4147706(void);
|
1999-08-16 21:50:52 +00:00
|
|
|
|
1999-12-22 22:57:04 +00:00
|
|
|
void Test4162198(void);
|
|
|
|
void Test4162852(void);
|
1999-08-16 21:50:52 +00:00
|
|
|
|
1999-12-22 22:57:04 +00:00
|
|
|
void Test4167494(void);
|
|
|
|
void Test4170798(void);
|
|
|
|
void Test4176114(void);
|
|
|
|
void Test4179818(void);
|
|
|
|
void Test4212072(void);
|
|
|
|
void Test4216742(void);
|
|
|
|
void Test4217661(void);
|
|
|
|
void Test4161100(void);
|
|
|
|
void Test4243011(void);
|
|
|
|
void Test4243108(void);
|
2001-03-07 22:01:48 +00:00
|
|
|
void TestJ691(void);
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
protected:
|
2000-05-18 22:08:39 +00:00
|
|
|
UBool failure(UErrorCode status, const UnicodeString& msg);
|
2004-10-01 21:07:02 +00:00
|
|
|
UBool failure(UErrorCode status, const UnicodeString& msg, const char *l);
|
|
|
|
UBool failure(UErrorCode status, const UnicodeString& msg, const Locale& l);
|
1999-08-16 21:50:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
class MyNumberFormatTest : public NumberFormat
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
2002-12-16 19:51:39 +00:00
|
|
|
virtual UClassID getDynamicClassID(void) const;
|
2000-08-16 22:30:12 +00:00
|
|
|
|
2000-12-04 23:53:39 +00:00
|
|
|
virtual UnicodeString& format( double number,
|
2000-08-16 22:30:12 +00:00
|
|
|
UnicodeString& toAppendTo,
|
|
|
|
FieldPosition& pos,
|
|
|
|
UErrorCode& status) const
|
|
|
|
{
|
2000-12-04 23:53:39 +00:00
|
|
|
return NumberFormat::format(number, toAppendTo, pos, status);
|
2000-08-16 22:30:12 +00:00
|
|
|
}
|
2000-12-04 23:53:39 +00:00
|
|
|
|
|
|
|
/* Just keep this here to make some of the compilers happy */
|
|
|
|
virtual UnicodeString& format(const Formattable& obj,
|
|
|
|
UnicodeString& toAppendTo,
|
|
|
|
FieldPosition& pos,
|
|
|
|
UErrorCode& status) const
|
|
|
|
{
|
|
|
|
return NumberFormat::format(obj, toAppendTo, pos, status);
|
|
|
|
}
|
|
|
|
|
2000-12-20 23:43:24 +00:00
|
|
|
/* Just use one of the format functions */
|
|
|
|
virtual UnicodeString& format( double /* number */,
|
1999-08-16 21:50:52 +00:00
|
|
|
UnicodeString& toAppendTo,
|
2000-12-20 23:43:24 +00:00
|
|
|
FieldPosition& /* pos */) const
|
1999-08-16 21:50:52 +00:00
|
|
|
{
|
2000-12-04 23:53:39 +00:00
|
|
|
toAppendTo = "";
|
|
|
|
return toAppendTo;
|
1999-08-16 21:50:52 +00:00
|
|
|
}
|
|
|
|
|
2000-12-20 23:43:24 +00:00
|
|
|
/*
|
|
|
|
public Number parse(String text, ParsePosition parsePosition)
|
|
|
|
{ return new Integer(0); }
|
|
|
|
*/
|
1999-08-16 21:50:52 +00:00
|
|
|
|
2000-12-20 23:43:24 +00:00
|
|
|
/* Just use one of the parse functions */
|
|
|
|
virtual void parse( const UnicodeString& /* text */,
|
1999-08-16 21:50:52 +00:00
|
|
|
Formattable& result,
|
2000-12-20 23:43:24 +00:00
|
|
|
ParsePosition& /* parsePosition */) const
|
1999-08-16 21:50:52 +00:00
|
|
|
{
|
2001-02-10 02:36:27 +00:00
|
|
|
result.setLong((int32_t)0);
|
1999-08-16 21:50:52 +00:00
|
|
|
}
|
|
|
|
|
2000-12-04 23:53:39 +00:00
|
|
|
virtual void parse( const UnicodeString& text,
|
2000-08-16 22:30:12 +00:00
|
|
|
Formattable& result,
|
|
|
|
UErrorCode& status) const
|
2000-12-04 23:53:39 +00:00
|
|
|
{
|
|
|
|
NumberFormat::parse(text, result, status);
|
|
|
|
}
|
|
|
|
virtual Format* clone() const
|
1999-08-16 21:50:52 +00:00
|
|
|
{ return NULL; }
|
2003-12-02 22:49:04 +00:00
|
|
|
|
2000-12-04 23:53:39 +00:00
|
|
|
virtual UnicodeString& format(int32_t,
|
1999-08-16 21:50:52 +00:00
|
|
|
UnicodeString& foo,
|
|
|
|
FieldPosition&) const
|
|
|
|
{ return foo.remove(); }
|
2001-08-16 01:01:22 +00:00
|
|
|
|
2003-12-02 22:49:04 +00:00
|
|
|
virtual UnicodeString& format(int64_t,
|
|
|
|
UnicodeString& foo,
|
|
|
|
FieldPosition&) const
|
|
|
|
{ return foo.remove(); }
|
|
|
|
|
2001-08-18 01:29:59 +00:00
|
|
|
virtual void applyPattern(const UnicodeString&, UParseError&, UErrorCode&){
|
2001-08-16 01:01:22 +00:00
|
|
|
}
|
1999-08-16 21:50:52 +00:00
|
|
|
};
|
|
|
|
|
2002-09-21 00:43:14 +00:00
|
|
|
#endif /* #if !UCONFIG_NO_FORMATTING */
|
|
|
|
|
1999-08-16 21:50:52 +00:00
|
|
|
#endif // _NUMBERFORMATREGRESSIONTEST_
|
|
|
|
//eof
|