Imported Upstream version 58.2
[platform/upstream/icu.git] / source / test / intltest / cpdtrtst.h
1 // Copyright (C) 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3
4 /********************************************************************
5  * COPYRIGHT: 
6  * Copyright (c) 1997-2003, International Business Machines Corporation and
7  * others. All Rights Reserved.
8  ********************************************************************/
9 /***********************************************************************
10 ************************************************************************
11 *   Date        Name        Description
12 *   03/09/2000   Madhu        Creation.
13 ************************************************************************/
14
15 #ifndef CPDTRTST_H
16 #define CPDTRTST_H
17
18 #include "unicode/utypes.h"
19
20 #if !UCONFIG_NO_TRANSLITERATION
21
22 #include "unicode/translit.h"
23 #include "intltest.h"
24
25 /**
26  * @test
27  * @summary General test of Compound Transliterator
28  */
29 class CompoundTransliteratorTest : public IntlTest {
30 public:
31     void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=NULL);
32
33     /*Tests the constructors */
34     void TestConstruction(void);
35     /*Tests the function clone, and operator==()*/
36     void TestCloneEqual(void);
37     /*Tests the function getCount()*/
38     void TestGetCount(void);
39     /*Tests the function getTransliterator() and setTransliterators() and adoptTransliterators()*/
40     void TestGetSetAdoptTransliterator(void);
41     /*Tests the function handleTransliterate()*/
42     void TestTransliterate(void);
43
44     //======================================================================
45     // Support methods
46     //======================================================================
47
48     /**
49      * Splits a UnicodeString
50      */
51     UnicodeString* split(const UnicodeString& str, UChar seperator, int32_t& count);
52
53     void expect(const CompoundTransliterator& t,
54                 const UnicodeString& source,
55                 const UnicodeString& expectedResult);
56
57     void expectAux(const UnicodeString& tag,
58                    const UnicodeString& summary, UBool pass,
59                    const UnicodeString& expectedResult);
60
61
62 };
63
64 #endif /* #if !UCONFIG_NO_TRANSLITERATION */
65
66 #endif