| /******************************************************************** |
| * COPYRIGHT: |
| * Copyright (c) 1999-2014 International Business Machines Corporation and |
| * others. All Rights Reserved. |
| ********************************************************************/ |
| /************************************************************************ |
| * Date Name Description |
| * 12/14/99 Madhu Creation. |
| ************************************************************************/ |
| |
| |
| |
| #ifndef RBBIAPITEST_H |
| #define RBBIAPITEST_H |
| |
| #include "unicode/utypes.h" |
| |
| #if !UCONFIG_NO_BREAK_ITERATION |
| |
| #include "intltest.h" |
| #include "unicode/rbbi.h" |
| |
| /** |
| * API Test the RuleBasedBreakIterator class |
| */ |
| class RBBIAPITest: public IntlTest { |
| public: |
| |
| |
| void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); |
| /** |
| * Tests Constructor behaviour of RuleBasedBreakIterator |
| **/ |
| // void TestConstruction(void); |
| /** |
| * Tests clone() and equals() methods of RuleBasedBreakIterator |
| **/ |
| void TestCloneEquals(); |
| /** |
| * Tests toString() method of RuleBasedBreakIterator |
| **/ |
| void TestgetRules(); |
| /** |
| * Tests the method hashCode() of RuleBasedBreakIterator |
| **/ |
| void TestHashCode(); |
| /** |
| * Tests the methods getText() and setText() of RuleBasedBreakIterator |
| **/ |
| void TestGetSetAdoptText(); |
| /** |
| * Testing the iteration methods of RuleBasedBreakIterator |
| **/ |
| void TestIteration(void); |
| |
| void TestFilteredBreakIteratorBuilder(void); |
| |
| /** |
| * Tests creating RuleBasedBreakIterator from rules strings. |
| **/ |
| void TestBuilder(void); |
| |
| void TestRoundtripRules(void); |
| |
| void RoundtripRule(const char *dataFile); |
| |
| /** |
| * Test creating RuleBasedBreakIterator from RBBIData. |
| **/ |
| |
| void TestCreateFromRBBIData(void); |
| |
| /** |
| * Tests grouping effect of 'single quotes' in rules. |
| **/ |
| void TestQuoteGrouping(); |
| |
| /** |
| * Tests word break status returns. |
| */ |
| void TestRuleStatus(); |
| void TestRuleStatusVec(); |
| |
| void TestBug2190(); |
| |
| void TestBoilerPlate(); |
| |
| void TestRegistration(); |
| |
| void TestRefreshInputText(); |
| |
| /** |
| *Internal subroutines |
| **/ |
| /* Internal subroutine used by TestIsBoundary() */ |
| void doBoundaryTest(BreakIterator& bi, UnicodeString& text, int32_t *boundaries); |
| |
| /*Internal subroutine used for comparision of expected and acquired results */ |
| void doTest(UnicodeString& testString, int32_t start, int32_t gotoffset, int32_t expectedOffset, const char* expected); |
| |
| |
| }; |
| |
| /** |
| * Special class to enable testing of protected functions in RuleBasedBreakIterator |
| */ |
| class RBBIWithProtectedFunctions: public RuleBasedBreakIterator { |
| public: |
| enum EDontAdopt { |
| kDontAdopt |
| }; |
| RBBIWithProtectedFunctions(RBBIDataHeader* data, UErrorCode &status); |
| RBBIWithProtectedFunctions(const RBBIDataHeader* data, enum EDontAdopt dontAdopt, UErrorCode &status); |
| }; |
| |
| #endif /* #if !UCONFIG_NO_BREAK_ITERATION */ |
| |
| #endif |