1/* 2******************************************************************************* 3* 4* Copyright (C) 2012, 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 39 private: 40 void CheckFormatting(const ListFormatter* formatter, UnicodeString data[], int32_t data_size, const UnicodeString& expected_result); 41 void CheckFourCases( 42 const char* locale_string, 43 UnicodeString one, 44 UnicodeString two, 45 UnicodeString three, 46 UnicodeString four, 47 UnicodeString results[4]); 48 UBool RecordFourCases( 49 const Locale& locale, 50 UnicodeString one, 51 UnicodeString two, 52 UnicodeString three, 53 UnicodeString four, 54 UnicodeString results[4]); 55 56 private: 57 // Reused test data. 58 const UnicodeString prefix; 59 const UnicodeString one; 60 const UnicodeString two; 61 const UnicodeString three; 62 const UnicodeString four; 63}; 64 65#endif 66