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