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