• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
23 class ListFormatterTest : public IntlTest {
24   public:
25     ListFormatterTest();
~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