]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/rbbiapts.h
ICU-511.32.tar.gz
[apple/icu.git] / icuSources / test / intltest / rbbiapts.h
1 /********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 1999-2011 International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6 /************************************************************************
7 * Date Name Description
8 * 12/14/99 Madhu Creation.
9 ************************************************************************/
10
11
12
13 #ifndef RBBIAPITEST_H
14 #define RBBIAPITEST_H
15
16 #include "unicode/utypes.h"
17
18 #if !UCONFIG_NO_BREAK_ITERATION
19
20 #include "intltest.h"
21 #include "unicode/rbbi.h"
22
23 /**
24 * API Test the RuleBasedBreakIterator class
25 */
26 class RBBIAPITest: public IntlTest {
27 public:
28
29
30 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
31 /**
32 * Tests Constructor behaviour of RuleBasedBreakIterator
33 **/
34 // void TestConstruction(void);
35 /**
36 * Tests clone() and equals() methods of RuleBasedBreakIterator
37 **/
38 void TestCloneEquals();
39 /**
40 * Tests toString() method of RuleBasedBreakIterator
41 **/
42 void TestgetRules();
43 /**
44 * Tests the method hashCode() of RuleBasedBreakIterator
45 **/
46 void TestHashCode();
47 /**
48 * Tests the methods getText() and setText() of RuleBasedBreakIterator
49 **/
50 void TestGetSetAdoptText();
51 /**
52 * Testing the iteration methods of RuleBasedBreakIterator
53 **/
54 void TestIteration(void);
55
56
57 /**
58 * Tests creating RuleBasedBreakIterator from rules strings.
59 **/
60 void TestBuilder(void);
61
62 void TestRoundtripRules(void);
63
64 void RoundtripRule(const char *dataFile);
65
66 /**
67 * Test creating RuleBasedBreakIterator from RBBIData.
68 **/
69
70 void TestCreateFromRBBIData(void);
71
72 /**
73 * Tests grouping effect of 'single quotes' in rules.
74 **/
75 void TestQuoteGrouping();
76
77 /**
78 * Tests word break status returns.
79 */
80 void TestRuleStatus();
81 void TestRuleStatusVec();
82
83 void TestBug2190();
84
85 void TestBoilerPlate();
86
87 void TestRegistration();
88
89 void TestRefreshInputText();
90
91 /**
92 *Internal subroutines
93 **/
94 /* Internal subroutine used by TestIsBoundary() */
95 void doBoundaryTest(RuleBasedBreakIterator& bi, UnicodeString& text, int32_t *boundaries);
96
97 /*Internal subroutine used for comparision of expected and acquired results */
98 void doTest(UnicodeString& testString, int32_t start, int32_t gotoffset, int32_t expectedOffset, const char* expected);
99
100
101 };
102
103 /**
104 * Special class to enable testing of protected functions in RuleBasedBreakIterator
105 */
106 class RBBIWithProtectedFunctions: public RuleBasedBreakIterator {
107 public:
108 enum EDontAdopt {
109 kDontAdopt
110 };
111 RBBIWithProtectedFunctions(RBBIDataHeader* data, UErrorCode &status);
112 RBBIWithProtectedFunctions(const RBBIDataHeader* data, enum EDontAdopt dontAdopt, UErrorCode &status);
113 };
114
115 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */
116
117 #endif