1 // © 2016 and later: Unicode, Inc. and others. 2 // License & terms of use: http://www.unicode.org/copyright.html 3 /******************************************************************** 4 * COPYRIGHT: 5 * Copyright (c) 2010-2012, International Business Machines Corporation and 6 * others. All Rights Reserved. 7 ********************************************************************/ 8 9 // 10 // file: dcfmtest.h 11 // 12 // Data driven decimal formatter test. 13 // Includes testing of both parsing and formatting. 14 // Tests are in the text file dcfmtest.txt, in the source/test/testdata/ directory. 15 // 16 17 #ifndef DCFMTEST_H 18 #define DCFMTEST_H 19 20 #include "unicode/utypes.h" 21 #if !UCONFIG_NO_REGULAR_EXPRESSIONS 22 23 #include "intltest.h" 24 25 26 class DecimalFormatTest: public IntlTest { 27 public: 28 29 DecimalFormatTest(); 30 virtual ~DecimalFormatTest(); 31 32 virtual void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL ) override; 33 34 // The following are test functions that are visible from the intltest test framework. 35 virtual void DataDrivenTests(); 36 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 44 private: 45 enum EFormatInputType { 46 kFormattable, 47 kStringPiece 48 }; 49 50 public: 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