16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/******************************************************************** 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * COPYRIGHT: 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Copyright (c) 1997-2013, International Business Machines Corporation and 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * others. All Rights Reserved. 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ********************************************************************/ 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef _PLURALFORMATTEST 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define _PLURALFORMATTEST 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/utypes.h" 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/plurrule.h" 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/plurfmt.h" 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if !UCONFIG_NO_FORMATTING 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "intltest.h" 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/** 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Test basic functionality of various API functions 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org **/ 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgclass PluralFormatTest : public IntlTest { 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgprivate: 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /** 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org * Performs tests on many API functions, see detailed comments in source code 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org **/ 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void pluralFormatBasicTest(/* char* par */); 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void pluralFormatUnitTest(/* char* par */); 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void pluralFormatLocaleTest(/* char* par */); 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void pluralFormatExtendedTest(); 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void pluralFormatExtendedParseTest(); 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void ordinalFormatTest(); 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestDecimals(); 366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void numberFormatTest(PluralFormat* plFmt, 376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org NumberFormat *numFmt, 386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org int32_t start, 396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org int32_t end, 406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString* numOddAppendStr, 416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString* numEvenAppendStr, 426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UBool overwrite, // overwrite the numberFormat.format result 436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString *message); 446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void helperTestResults(const char** localeArray, 456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org int32_t capacityOfArray, 466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString& testPattern, 476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org int8_t *expectingResults); 486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif /* #if !UCONFIG_NO_FORMATTING */ 516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 53