1885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org/* 2885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org******************************************************************************* 3885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* 4885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* Copyright (C) 2012-2013, International Business Machines 5885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* Corporation and others. All Rights Reserved. 6885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* 7885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org******************************************************************************* 8885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* file name: listformattertest.cpp 9885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* encoding: US-ASCII 10885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* tab size: 8 (not used) 11e3ea049fcaee2247e45f0ce793d4313babb4ef69tlegrand@chromium.org* indentation:4 12885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* 13885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* created on: 2012aug27 14885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org* created by: Umesh P. Nair 15e3ea049fcaee2247e45f0ce793d4313babb4ef69tlegrand@chromium.org*/ 16885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org 17885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org#ifndef __LISTFORMATTERTEST_H__ 18885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org#define __LISTFORMATTERTEST_H__ 19885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org 20885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org#include "unicode/listformatter.h" 21885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org#include "intltest.h" 22885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org 23885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.orgclass ListFormatterTest : public IntlTest { 24885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org public: 25885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org ListFormatterTest(); 26885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org virtual ~ListFormatterTest() {} 27885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org 28885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par=0); 29885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org 30885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void TestRoot(); 31885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void TestBogus(); 32885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void TestEnglish(); 33885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void TestEnglishUS(); 34885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void TestRussian(); 35885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void TestMalayalam(); 36885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void TestZulu(); 37885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void TestOutOfOrderPatterns(); 38885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void Test9946(); 39885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org 403c3902f0ac13428394f14f78f0fab05ef3468d69tlegrand@google.com private: 413c3902f0ac13428394f14f78f0fab05ef3468d69tlegrand@google.com void CheckFormatting(const ListFormatter* formatter, UnicodeString data[], int32_t data_size, const UnicodeString& expected_result); 42885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org void CheckFourCases( 43885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org const char* locale_string, 44885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString one, 45885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString two, 46885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString three, 47885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString four, 48885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString results[4]); 49885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UBool RecordFourCases( 50885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org const Locale& locale, 51885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString one, 52885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString two, 53885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString three, 54885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString four, 55885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org UnicodeString results[4]); 56885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org 57885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org private: 586b6bee25314cfac02cc555cddedb9680c63a26d6sergeyu@chromium.org // Reused test data. 59885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org const UnicodeString prefix; 60885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org const UnicodeString one; 61885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org const UnicodeString two; 62885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org const UnicodeString three; 63885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org const UnicodeString four; 64885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org}; 65885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org 66885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org#endif 67885f2ff5a7a7d6a73432d26a6c0ae9147e6b452sergeyu@chromium.org