Imported Upstream version 58.1
[platform/upstream/icu.git] / source / test / intltest / rbbiapts.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) 1999-2016 International Business Machines Corporation and
6  * others. All Rights Reserved.
7  ********************************************************************/
8 /************************************************************************
9 *   Date        Name        Description
10 *   12/14/99    Madhu        Creation.
11 ************************************************************************/
12
13
14
15 #ifndef RBBIAPITEST_H
16 #define RBBIAPITEST_H
17
18 #include "unicode/utypes.h"
19
20 #if !UCONFIG_NO_BREAK_ITERATION
21
22 #include "intltest.h"
23 #include "unicode/rbbi.h"
24
25 /**
26  * API Test the RuleBasedBreakIterator class
27  */
28 class RBBIAPITest: public IntlTest {
29 public:
30    
31     
32     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
33     /**
34      * Tests Constructor behaviour of RuleBasedBreakIterator
35      **/
36    // void TestConstruction(void);   
37     /**
38      * Tests clone() and equals() methods of RuleBasedBreakIterator         
39      **/
40     void TestCloneEquals();
41     /**
42      * Tests toString() method of RuleBasedBreakIterator
43      **/
44     void TestgetRules();
45     /**
46      * Tests the method hashCode() of RuleBasedBreakIterator
47      **/
48     void TestHashCode();
49      /**
50       * Tests the methods getText() and setText() of RuleBasedBreakIterator
51       **/
52     void TestGetSetAdoptText();
53      /**
54       * Testing the iteration methods of RuleBasedBreakIterator
55       **/
56     void TestIteration(void);
57
58     void TestFilteredBreakIteratorBuilder(void);
59
60     /**
61      * Tests creating RuleBasedBreakIterator from rules strings.
62      **/
63     void TestBuilder(void);
64
65     void TestRoundtripRules(void);
66
67     void RoundtripRule(const char *dataFile);
68
69     /**
70      * Test getting and using binary (compiled) rules.
71      **/
72     void TestGetBinaryRules(void);
73
74     /**
75      * Tests grouping effect of 'single quotes' in rules.
76      **/
77     void TestQuoteGrouping();
78
79     /**
80      *  Tests word break status returns.
81      */
82     void TestRuleStatus();
83     void TestRuleStatusVec();
84
85     void TestBug2190();
86
87     void TestBoilerPlate();
88
89     void TestRegistration();
90
91     void TestRefreshInputText();
92
93     /**
94      *Internal subroutines
95      **/
96     /* Internal subroutine used by TestIsBoundary() */ 
97     void doBoundaryTest(BreakIterator& bi, UnicodeString& text, int32_t *boundaries);
98
99     /*Internal subroutine used for comparision of expected and acquired results */
100     void doTest(UnicodeString& testString, int32_t start, int32_t gotoffset, int32_t expectedOffset, const char* expected);
101
102
103 };
104
105 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */
106
107 #endif