1
2/********************************************************************
3 * COPYRIGHT:
4 * Copyright (c) 1997-2008, International Business Machines Corporation and
5 * others. All Rights Reserved.
6 ********************************************************************/
7
8/**
9 * TestChoiceFormat is a third level test class
10 */
11
12#include "unicode/utypes.h"
13
14#if !UCONFIG_NO_FORMATTING
15
16#include "intltest.h"
17
18
19/**
20 * tests Choice Format, functionality of examples, as well as API functionality
21 **/
22class TestChoiceFormat: public IntlTest {
23    /**
24     *    tests basic functionality in a simple example
25     **/
26    void TestSimpleExample(void);
27    /**
28     *    tests functionality in a more complex example,
29     *    and extensive API functionality.
30     *    See verbose message output statements for specifically tested API
31     **/
32    void TestComplexExample(void);
33
34    /**
35     * Test new closure API
36     */
37    void TestClosures(void);
38
39    /**
40     * Test applyPattern
41     */
42    void TestPatterns(void);
43    void TestChoiceFormatToPatternOverflow(void);
44
45    void _testPattern(const char* pattern,
46                      UBool isValid,
47                      double v1, const char* str1,
48                      double v2, const char* str2,
49                      double v3, const char* str3);
50    /**
51     *    runs tests in local funtions:
52     **/
53    void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
54};
55
56#endif /* #if !UCONFIG_NO_FORMATTING */
57