185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho/******************************************************************** 285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * COPYRIGHT: 3b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho * Copyright (c) 1997-2011, International Business Machines Corporation and 485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * others. All Rights Reserved. 585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho ********************************************************************/ 685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#ifndef _PLURALFORMATTEST 885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#define _PLURALFORMATTEST 985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "unicode/utypes.h" 1185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "unicode/plurrule.h" 1285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "unicode/plurfmt.h" 1385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#if !UCONFIG_NO_FORMATTING 1685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "intltest.h" 1885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho/** 2085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Test basic functionality of various API functions 2185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho **/ 2285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoclass PluralFormatTest : public IntlTest { 2385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 2485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 2585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoprivate: 2685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 2785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Performs tests on many API functions, see detailed comments in source code 2885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho **/ 2985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void pluralFormatBasicTest(/* char* par */); 3085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void pluralFormatUnitTest(/* char* par */); 3185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void pluralFormatLocaleTest(/* char* par */); 32b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho void pluralFormatExtendedTest(); 33b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho void pluralFormatExtendedParseTest(); 3485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void numberFormatTest(PluralFormat* plFmt, 3585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho NumberFormat *numFmt, 3685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho int32_t start, 3785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho int32_t end, 3885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho UnicodeString* numOddAppendStr, 3985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho UnicodeString* numEvenAppendStr, 4085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho UBool overwrite, // overwrite the numberFormat.format result 4185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho UnicodeString *message); 4285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void helperTestRusults(const char** localeArray, 4385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho int32_t capacityOfArray, 4485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho UnicodeString& testPattern, 4585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho int8_t *expectingResults); 4685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho}; 4785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 4885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#endif /* #if !UCONFIG_NO_FORMATTING */ 4985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 5085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#endif 51