16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org******************************************************************************* 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Copyright (C) 2012-2013, International Business Machines 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Corporation and others. All Rights Reserved. 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org******************************************************************************* 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* file name: listformattertest.cpp 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* encoding: US-ASCII 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* tab size: 8 (not used) 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* indentation:4 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* created on: 2012aug27 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* created by: Umesh P. Nair 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*/ 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __LISTFORMATTERTEST_H__ 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define __LISTFORMATTERTEST_H__ 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/listformatter.h" 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "intltest.h" 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgclass ListFormatterTest : public IntlTest { 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org public: 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ListFormatterTest(); 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org virtual ~ListFormatterTest() {} 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par=0); 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestRoot(); 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestBogus(); 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestEnglish(); 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestEnglishUS(); 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestRussian(); 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestMalayalam(); 366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestZulu(); 376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void TestOutOfOrderPatterns(); 386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void Test9946(); 396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org private: 416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void CheckFormatting(const ListFormatter* formatter, UnicodeString data[], int32_t data_size, const UnicodeString& expected_result); 426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void CheckFourCases( 436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const char* locale_string, 446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString one, 456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString two, 466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString three, 476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString four, 486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString results[4]); 496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UBool RecordFourCases( 506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const Locale& locale, 516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString one, 526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString two, 536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString three, 546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString four, 556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UnicodeString results[4]); 566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org private: 586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org // Reused test data. 596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const UnicodeString prefix; 606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const UnicodeString one; 616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const UnicodeString two; 626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const UnicodeString three; 636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org const UnicodeString four; 646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}; 656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 67