]>
git.saurik.com Git - apple/icu.git/blob - icuSources/test/cintltst/cregrtst.h
1 /********************************************************************
3 * Copyright (c) 1997-2001, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6 /********************************************************************************
10 * Modification History:
12 * Madhu Katragadda Converted to C, added extra functions and tests
13 *********************************************************************************
16 /*C API functionality and regression test for BreakIterator*/
18 #ifndef _CBRKITREGTEST
19 #define _CBRKITREGTEST
21 #include "unicode/utypes.h"
23 #if !UCONFIG_NO_BREAK_ITERATION
29 /* Internal functions used */
30 void addElement(struct Vector1
*, const char*);
31 UChar
* addElement2(struct Vector1
*, const UChar
*);
32 void cleanupVector(struct Vector1
*);
33 int32_t Count(struct Vector1
*);
34 UChar
* elementAt(struct Vector1
*, int32_t);
35 /* Internal Functions used */
36 UChar
* extractBetween(int32_t start
, int32_t end
, UChar
* text
);
37 UChar
* CharsToUCharArray(const char*);
38 UChar
* UCharToUCharArray(const UChar uchar
);
40 void AllocateTextBoundary(void);
41 void FreeTextBoundary(void);
43 /* The test functions */
46 * Test word break using doForwardSelectionTest
48 void TestForwardWordSelection(void);
50 * Test word break using doFirstSelectionTest
52 void TestFirstWordSelection(void);
54 * Test word break using doLastSelectionTest
56 void TestLastWordSelection(void);
58 * Test word break using doBackwardSelectionTest
60 void TestBackwardWordSelection(void);
62 * Test word break using doForwardIndexSelectionTest
64 void TestForwardWordIndexSelection(void);
66 * Test word break using doBackwardIndexSelectionTest
68 void TestBackwardWordIndexSelection(void);
71 * Test sentence break using doForwardSelectionTest
73 void TestForwardSentenceSelection(void);
75 * Test sentence break using doBackwardSelectionTest
77 void TestBackwardSentenceSelection(void);
79 * Test sentence break using doFirstSelectionTest
81 void TestFirstSentenceSelection(void);
83 * Test sentence break using doLastSelectionTest
85 void TestLastSentenceSelection(void);
87 * Test sentence break using doForwardIndexSelectionTest
89 void TestForwardSentenceIndexSelection(void);
91 * Test sentence break using doBackwardIndexSelectionTest
93 void TestBackwardSentenceIndexSelection(void);
96 * Test line break using doForwardSelectionTest
98 void TestForwardLineSelection(void);
100 * Test line break using doBackwardSelectionTest
102 void TestBackwardLineSelection(void);
104 * Test line break using doFirstSelectionTest
106 void TestFirstLineSelection(void);
108 * Test line break using doLastSelectionTest
110 void TestLastLineSelection(void);
112 * Test line break using doForwardIndexSelectionTest
114 void TestForwardLineIndexSelection(void);
116 * Test line break using doBackwardIndexSelectionTest
118 void TestBackwardLineIndexSelection(void);
121 * Test character break using doForwardSelectionTest
123 void TestForwardCharacterSelection(void);
125 * Test character break using doBackwardSelectionTest
127 void TestBackwardCharacterSelection(void);
129 * Test character break using doFirstSelectionTest
131 void TestFirstCharacterSelection(void);
133 * Test character break using doLastSelectionTest
135 void TestLastCharacterSelection(void);
137 * Test character break using doForwardIndexSelectionTest
139 void TestForwardCharacterIndexSelection(void);
141 * Test character break using doBackwardIndexSelectionTest
143 void TestBackwardCharacterIndexSelection(void);
147 * test methods ubrk_preceding(), ubrk_following()
149 void TestPreceding(void);
150 void TestEndBehaviour(void);
152 void TestWordInvariants(void);
153 void TestSentenceInvariants(void);
154 void TestCharacterInvariants(void);
155 void TestLineInvariants(void);
156 /*-----------------*/
157 /* Internal functions to prepare test data */
159 void addTestWordData(void);
160 void addTestSentenceData(void);
161 void addTestLineData(void);
162 void addTestCharacterData(void);
163 UChar
* createTestData(struct Vector1
*, int32_t);
165 /* Test Implementation routines*/
168 * Perform tests of BreakIterator forward functionality
169 * on different kinds of iterators (word, sentence, line and character)
171 void doForwardSelectionTest(UBreakIterator
*, UChar
* testText
, struct Vector1
* result
);
173 * Perform tests of BreakIterator backward functionality
174 * on different kinds of iterators (word, sentence, line and character)
176 void doBackwardSelectionTest(UBreakIterator
*, UChar
* testText
, struct Vector1
* result
);
178 * Perform tests of BreakIterator first selection functionality
179 * on different kinds of iterators (word, sentence, line and character)
181 void doFirstSelectionTest(UBreakIterator
* iterator
, UChar
* testText
, struct Vector1
* result
);
183 * Perform tests of BreakIterator last selection functionality
184 * on different kinds of iterators (word, sentence, line and character)
186 void doLastSelectionTest(UBreakIterator
* iterator
, UChar
* testText
, struct Vector1
* result
);
188 * Perform tests of BreakIterator backward index functionality
189 * on different kinds of iterators (word, sentence, line and character)
191 void doForwardIndexSelectionTest(UBreakIterator
* iterator
, UChar
* testText
, struct Vector1
* result
);
193 * Perform tests of BreakIterator multiple selection functionality
194 * on different kinds of iterators (word, sentence, line and character)
196 void doBackwardIndexSelectionTest(UBreakIterator
* iterator
, UChar
* testText
, struct Vector1
* result
);
198 void doBreakInvariantTest(UBreakIteratorType type
, UChar
* testChars
);
200 void doOtherInvariantTest(UBreakIteratorType type
, UChar
* testChars
);
202 * Perform tests with short sample code
204 void sample(UBreakIterator
* tb
, UChar
* text
);
207 struct Vector1
* wordSelectionData
;
208 struct Vector1
* sentenceSelectionData
;
209 struct Vector1
* lineSelectionData
;
210 struct Vector1
* characterSelectionData
;
213 UChar
* testSentenceText
;
215 UChar
* testCharacterText
;
218 static UChar
*cannedTestChars
;
220 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */