1/********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 2008-2013, International Business Machines Corporation
4 * and others. All Rights Reserved.
5 ********************************************************************/
6
7#ifndef __INTLTESTTIMEUNITTEST__
8#define __INTLTESTTIMEUNITTEST__
9
10
11#if !UCONFIG_NO_FORMATTING
12
13#include "unicode/utypes.h"
14#include "unicode/locid.h"
15#include "intltest.h"
16
17/**
18 * Test basic functionality of various API functions
19 **/
20class TimeUnitTest: public IntlTest {
21    void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
22
23public:
24    /**
25     * Performs basic tests
26     **/
27    void testBasic();
28
29    /**
30     * Performs API tests
31     **/
32    void testAPI();
33
34    /**
35     * Performs tests for Greek
36     * This tests that requests for short unit names correctly fall back
37     * to long unit names for a locale where the locale data does not
38     * provide short unit names. As of CLDR 1.9, Greek is one such language.
39     **/
40    void testGreekWithFallback();
41
42    /**
43     * Performs tests for Greek
44     * This tests that if the plural count listed in time unit format does not
45     * match those in the plural rules for the locale, those plural count in
46     * time unit format will be ingored and subsequently, fall back will kick in
47     * which is tested above.
48     * Without data sanitization, setNumberFormat() would crash.
49     * As of CLDR shiped in ICU4.8, Greek is one such language.
50     */
51    void testGreekWithSanitization();
52
53};
54
55#endif /* #if !UCONFIG_NO_FORMATTING */
56
57#endif
58