1/* 2******************************************************************************* 3* 4* Copyright (C) 2012-2013, International Business Machines 5* Corporation and others. All Rights Reserved. 6* 7******************************************************************************* 8* file name: listformattertest.cpp 9* encoding: US-ASCII 10* tab size: 8 (not used) 11* indentation:4 12* 13* created on: 2012aug27 14* created by: Umesh P. Nair 15*/ 16 17#ifndef __LISTFORMATTERTEST_H__ 18#define __LISTFORMATTERTEST_H__ 19 20#include "unicode/listformatter.h" 21#include "intltest.h" 22 23class ListFormatterTest : public IntlTest { 24 public: 25 ListFormatterTest(); 26 virtual ~ListFormatterTest() {} 27 28 void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par=0); 29 30 void TestRoot(); 31 void TestBogus(); 32 void TestEnglish(); 33 void TestEnglishUS(); 34 void TestRussian(); 35 void TestMalayalam(); 36 void TestZulu(); 37 void TestOutOfOrderPatterns(); 38 void Test9946(); 39 40 private: 41 void CheckFormatting(const ListFormatter* formatter, UnicodeString data[], int32_t data_size, const UnicodeString& expected_result); 42 void CheckFourCases( 43 const char* locale_string, 44 UnicodeString one, 45 UnicodeString two, 46 UnicodeString three, 47 UnicodeString four, 48 UnicodeString results[4]); 49 UBool RecordFourCases( 50 const Locale& locale, 51 UnicodeString one, 52 UnicodeString two, 53 UnicodeString three, 54 UnicodeString four, 55 UnicodeString results[4]); 56 57 private: 58 // Reused test data. 59 const UnicodeString prefix; 60 const UnicodeString one; 61 const UnicodeString two; 62 const UnicodeString three; 63 const UnicodeString four; 64}; 65 66#endif 67