1/******************************************************************** 2 * COPYRIGHT: 3 * Copyright (c) 2010-2012, International Business Machines Corporation and 4 * others. All Rights Reserved. 5 ********************************************************************/ 6 7// 8// file: dcfmtest.h 9// 10// Data driven decimal formatter test. 11// Includes testing of both parsing and formatting. 12// Tests are in the text file dcfmtest.txt, in the source/test/testdata/ directory. 13// 14 15#ifndef DCFMTEST_H 16#define DCFMTEST_H 17 18#include "unicode/utypes.h" 19#if !UCONFIG_NO_REGULAR_EXPRESSIONS 20 21#include "intltest.h" 22 23 24class DecimalFormatTest: public IntlTest { 25public: 26 27 DecimalFormatTest(); 28 virtual ~DecimalFormatTest(); 29 30 virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL ); 31 32 // The following are test functions that are visible from the intltest test framework. 33 virtual void DataDrivenTests(); 34 35 // The following functions are internal to the decimal format tests. 36 virtual UChar *ReadAndConvertFile(const char *fileName, int32_t &len, UErrorCode &status); 37 virtual const char *getPath(char buffer[2048], const char *filename); 38 virtual void execParseTest(int32_t lineNum, 39 const UnicodeString &inputText, 40 const UnicodeString &expectedType, 41 const UnicodeString &expectedDecimal, 42 UErrorCode &status); 43 44private: 45 enum EFormatInputType { 46 kFormattable, 47 kStringPiece 48 }; 49 50public: 51 virtual void execFormatTest(int32_t lineNum, 52 const UnicodeString &pattern, 53 const UnicodeString &round, 54 const UnicodeString &input, 55 const UnicodeString &expected, 56 EFormatInputType inType, 57 UErrorCode &status); 58}; 59 60#endif // !UCONFIG_NO_REGULAR_EXPRESSIONS 61#endif 62