]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/plurults.h
ICU-66108.tar.gz
[apple/icu.git] / icuSources / test / intltest / plurults.h
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) 1997-2013, International Business Machines Corporation and
6 * others. All Rights Reserved.
7 ********************************************************************/
8
9 #ifndef _PluralRulesTest
10 #define _PluralRulesTest
11
12 #include "unicode/utypes.h"
13
14 #if !UCONFIG_NO_FORMATTING
15
16 #include "intltest.h"
17 #include "unicode/localpointer.h"
18 #include "unicode/plurrule.h"
19
20 /**
21 * Test basic functionality of various API functions
22 **/
23 class PluralRulesTest : public IntlTest {
24 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
25
26 private:
27 /**
28 * Performs tests on many API functions, see detailed comments in source code
29 **/
30 void testAPI();
31 void testGetUniqueKeywordValue();
32 void testGetSamples();
33 void testWithin();
34 void testGetAllKeywordValues();
35 void testOrdinal();
36 void testSelect();
37 void testAvailbleLocales();
38 void testParseErrors();
39 void testFixedDecimal();
40 void testSelectTrailingZeros();
41 void testLocaleExtension();
42
43 void assertRuleValue(const UnicodeString& rule, double expected);
44 void assertRuleKeyValue(const UnicodeString& rule, const UnicodeString& key,
45 double expected);
46 void checkSelect(const LocalPointer<PluralRules> &rules, UErrorCode &status,
47 int32_t line, const char *keyword, ...);
48 void compareLocaleResults(const char* loc1, const char* loc2, const char* loc3);
49 };
50
51 #endif /* #if !UCONFIG_NO_FORMATTING */
52
53 #endif