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