Imported Upstream version 58.1
[platform/upstream/icu.git] / source / test / intltest / srchtest.h
1 // Copyright (C) 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /****************************************************************************
4  * COPYRIGHT: 
5  * Copyright (c) 2001-2008, International Business Machines Corporation and others
6  * All Rights Reserved.
7  ***************************************************************************/
8
9 #ifndef _STRSRCH_H
10 #define _STRSRCH_H
11
12 #include "unicode/utypes.h"
13
14 #if !UCONFIG_NO_COLLATION 
15
16 #include "unicode/tblcoll.h"
17 #include "unicode/brkiter.h"
18 #include "intltest.h"
19 #include "unicode/usearch.h"
20
21 struct SearchData;
22 typedef struct SearchData SearchData;
23
24 class StringSearchTest: public IntlTest 
25 {
26 public:
27     StringSearchTest();
28     virtual ~StringSearchTest();
29
30     void runIndexedTest(int32_t index, UBool exec, const char* &name, 
31                         char* par = NULL);
32 #if !UCONFIG_NO_BREAK_ITERATION
33 private:
34     RuleBasedCollator *m_en_us_; 
35     RuleBasedCollator *m_fr_fr_;
36     RuleBasedCollator *m_de_;
37     RuleBasedCollator *m_es_;
38     BreakIterator     *m_en_wordbreaker_;
39     BreakIterator     *m_en_characterbreaker_;
40
41     RuleBasedCollator * getCollator(const char *collator);
42     BreakIterator     * getBreakIterator(const char *breaker);
43     char              * toCharString(const UnicodeString &text);
44     Collator::ECollationStrength getECollationStrength(
45                                    const UCollationStrength &strength) const;
46     UBool           assertEqualWithStringSearch(      StringSearch *strsrch,
47                                                 const SearchData   *search);
48     UBool           assertEqual(const SearchData *search);
49     UBool           assertCanonicalEqual(const SearchData *search);
50     UBool           assertEqualWithAttribute(const SearchData *search, 
51                                             USearchAttributeValue canonical,
52                                             USearchAttributeValue overlap);
53     void TestOpenClose();
54     void TestInitialization();
55     void TestBasic();
56     void TestNormExact();
57     void TestStrength();
58 #if !UCONFIG_NO_BREAK_ITERATION
59     void TestBreakIterator();
60 #endif
61     void TestVariable();
62     void TestOverlap();
63     void TestCollator();
64     void TestPattern();
65     void TestText();
66     void TestCompositeBoundaries();
67     void TestGetSetOffset();
68     void TestGetSetAttribute();
69     void TestGetMatch();
70     void TestSetMatch();
71     void TestReset();
72     void TestSupplementary();
73     void TestContraction();
74     void TestIgnorable();
75     void TestCanonical();
76     void TestNormCanonical();
77     void TestStrengthCanonical();
78 #if !UCONFIG_NO_BREAK_ITERATION
79     void TestBreakIteratorCanonical();
80 #endif
81     void TestVariableCanonical();
82     void TestOverlapCanonical();
83     void TestCollatorCanonical();
84     void TestPatternCanonical();
85     void TestTextCanonical();
86     void TestCompositeBoundariesCanonical();
87     void TestGetSetOffsetCanonical();
88     void TestSupplementaryCanonical();
89     void TestContractionCanonical();
90     void TestUClassID();
91     void TestSubclass();
92     void TestCoverage();
93     void TestDiacriticMatch();
94 #endif
95 };
96
97 #endif /* #if !UCONFIG_NO_COLLATION */
98
99 #endif