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