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 * Performs unit test for ticket 10219 making sure that plurals work 55 * correctly with rounding. 56 */ 57 void test10219Plurals(); 58 59}; 60 61#endif /* #if !UCONFIG_NO_FORMATTING */ 62 63#endif 64