185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho/******************************************************************** 285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * COPYRIGHT: 359d709d503bab6e2b61931737e662dd293b40578ccornelius * Copyright (c) 2008-2013, International Business Machines Corporation 427f654740f2a26ad62a5c155af9199af9e69b889claireho * and others. All Rights Reserved. 585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho ********************************************************************/ 685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#ifndef __INTLTESTTIMEUNITTEST__ 885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#define __INTLTESTTIMEUNITTEST__ 985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#if !UCONFIG_NO_FORMATTING 1285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "unicode/utypes.h" 1485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "unicode/locid.h" 1585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "intltest.h" 1685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho/** 1885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Test basic functionality of various API functions 1985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho **/ 2085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoclass TimeUnitTest: public IntlTest { 2185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); 2285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 2385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hopublic: 2485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 2585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Performs basic tests 2685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho **/ 2785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void testBasic(); 2885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 2985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho /** 3085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Performs API tests 3185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho **/ 3285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho void testAPI(); 3327f654740f2a26ad62a5c155af9199af9e69b889claireho 3427f654740f2a26ad62a5c155af9199af9e69b889claireho /** 3527f654740f2a26ad62a5c155af9199af9e69b889claireho * Performs tests for Greek 3627f654740f2a26ad62a5c155af9199af9e69b889claireho * This tests that requests for short unit names correctly fall back 3727f654740f2a26ad62a5c155af9199af9e69b889claireho * to long unit names for a locale where the locale data does not 3827f654740f2a26ad62a5c155af9199af9e69b889claireho * provide short unit names. As of CLDR 1.9, Greek is one such language. 3927f654740f2a26ad62a5c155af9199af9e69b889claireho **/ 4054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius void testGreekWithFallback(); 4154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius 4254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius /** 4354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * Performs tests for Greek 4454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * This tests that if the plural count listed in time unit format does not 4554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * match those in the plural rules for the locale, those plural count in 4654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * time unit format will be ingored and subsequently, fall back will kick in 4754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * which is tested above. 4854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * Without data sanitization, setNumberFormat() would crash. 4954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * As of CLDR shiped in ICU4.8, Greek is one such language. 5054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius */ 5154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius void testGreekWithSanitization(); 5259d709d503bab6e2b61931737e662dd293b40578ccornelius 53fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius /** 54fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * Performs unit test for ticket 10219 making sure that plurals work 55fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius * correctly with rounding. 56fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius */ 57fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius void test10219Plurals(); 58fceb39872958b9fa2505e63f8b8699a9e0f882f4ccornelius 5985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho}; 6085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 6185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#endif /* #if !UCONFIG_NO_FORMATTING */ 6285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 6385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#endif 64