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