You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.1 KiB
64 lines
2.1 KiB
// © 2016 and later: Unicode, Inc. and others.
|
|
// License & terms of use: http://www.unicode.org/copyright.html
|
|
/********************************************************************
|
|
* COPYRIGHT:
|
|
* Copyright (c) 2010-2012, International Business Machines Corporation and
|
|
* others. All Rights Reserved.
|
|
********************************************************************/
|
|
|
|
//
|
|
// file: dcfmtest.h
|
|
//
|
|
// Data driven decimal formatter test.
|
|
// Includes testing of both parsing and formatting.
|
|
// Tests are in the text file dcfmtest.txt, in the source/test/testdata/ directory.
|
|
//
|
|
|
|
#ifndef DCFMTEST_H
|
|
#define DCFMTEST_H
|
|
|
|
#include "unicode/utypes.h"
|
|
#if !UCONFIG_NO_REGULAR_EXPRESSIONS
|
|
|
|
#include "intltest.h"
|
|
|
|
|
|
class DecimalFormatTest: public IntlTest {
|
|
public:
|
|
|
|
DecimalFormatTest();
|
|
virtual ~DecimalFormatTest();
|
|
|
|
virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL );
|
|
|
|
// The following are test functions that are visible from the intltest test framework.
|
|
virtual void DataDrivenTests();
|
|
|
|
// The following functions are internal to the decimal format tests.
|
|
virtual UChar *ReadAndConvertFile(const char *fileName, int32_t &len, UErrorCode &status);
|
|
virtual const char *getPath(char buffer[2048], const char *filename);
|
|
virtual void execParseTest(int32_t lineNum,
|
|
const UnicodeString &inputText,
|
|
const UnicodeString &expectedType,
|
|
const UnicodeString &expectedDecimal,
|
|
UErrorCode &status);
|
|
|
|
private:
|
|
enum EFormatInputType {
|
|
kFormattable,
|
|
kStringPiece
|
|
};
|
|
|
|
public:
|
|
virtual void execFormatTest(int32_t lineNum,
|
|
const UnicodeString &pattern,
|
|
const UnicodeString &round,
|
|
const UnicodeString &input,
|
|
const UnicodeString &expected,
|
|
EFormatInputType inType,
|
|
UErrorCode &status);
|
|
};
|
|
|
|
#endif // !UCONFIG_NO_REGULAR_EXPRESSIONS
|
|
#endif
|