1// © 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 */
29class CompoundTransliteratorTest : public IntlTest {
30public:
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
67