| /* |
| ***************************************************************************************** |
| * * |
| * COPYRIGHT: * |
| * (C) Copyright Taligent, Inc., 1997 * |
| * (C) Copyright International Business Machines Corporation, 1997-1998 * |
| * Licensed Material - Program-Property of IBM - All Rights Reserved. * |
| * US Government Users Restricted Rights - Use, duplication, or disclosure * |
| * restricted by GSA ADP Schedule Contract with IBM Corp. * |
| * * |
| ***************************************************************************************** |
| */ |
| |
| |
| #ifndef _INTLTESTTEXTBOUNDARY |
| #define _INTLTESTTEXTBOUNDARY |
| |
| |
| #include "utypes.h" |
| #include "intltest.h" |
| #include "brkiter.h" |
| |
| class Vector; |
| class Enumeration; |
| |
| /** |
| * Test the BreakIterator class and indirectly all related classes |
| */ |
| class IntlTestTextBoundary: public IntlTest { |
| public: |
| IntlTestTextBoundary(); |
| ~IntlTestTextBoundary(); |
| |
| void runIndexedTest( int32_t index, bool_t exec, char* &name, char* par = NULL ); |
| |
| /** |
| * Test sentence break using doForwardSelectionTest |
| **/ |
| void TestForwardSentenceSelection(void); |
| /** |
| * Test sentence break using doFirstSelectionTest |
| **/ |
| void TestFirstSentenceSelection(void); |
| /** |
| * Test sentence break using doLastSelectionTest |
| **/ |
| void TestLastSentenceSelection(void); |
| /** |
| * Test sentence break using doBackwardSelectionTest |
| **/ |
| void TestBackwardSentenceSelection(void); |
| /** |
| * Test sentence break using doForwardIndexSelectionTest |
| **/ |
| void TestForwardSentenceIndexSelection(void); |
| /** |
| * Test sentence break using doBackwardIndexSelectionTest |
| **/ |
| void TestBackwardSentenceIndexSelection(void); |
| /** |
| * Test sentence break using doMultipleSelectionTest |
| **/ |
| void TestSentenceMultipleSelection(void); |
| /** |
| * Test word break using doForwardSelectionTest |
| **/ |
| void TestForwardWordSelection(void); |
| /** |
| * Test word break using doFirstSelectionTest |
| **/ |
| void TestFirstWordSelection(void); |
| /** |
| * Test word break using doLastSelectionTest |
| **/ |
| void TestLastWordSelection(void); |
| /** |
| * Test word break using doBackwardSelectionTest |
| **/ |
| void TestBackwardWordSelection(void); |
| /** |
| * Test word break using doForwardIndexSelectionTest |
| **/ |
| void TestForwardWordIndexSelection(void); |
| /** |
| * Test word break using doBackwardIndexSelectionTest |
| **/ |
| void TestBackwardWordIndexSelection(void); |
| /** |
| * Test word break using doMultipleSelectionTest |
| **/ |
| void TestWordMultipleSelection(void); |
| /** |
| * Test line break using doLastSelectionTest |
| **/ |
| void TestForwardLineSelection(void); |
| /** |
| * Test line break using doFirstSelectionTest |
| **/ |
| void TestFirstLineSelection(void); |
| /** |
| * Test line break using doLastSelectionTest |
| **/ |
| void TestLastLineSelection(void); |
| /** |
| * Test line break using doBackwardSelectionTest |
| **/ |
| void TestBackwardLineSelection(void); |
| /** |
| * Test line break using doForwardIndexSelectionTest |
| **/ |
| void TestForwardLineIndexSelection(void); |
| /** |
| * Test line break using doBackwardIndexSelectionTest |
| **/ |
| void TestBackwardLineIndexSelection(void); |
| /** |
| * Test line break using doMultipleSelectionTest |
| **/ |
| void TestLineMultipleSelection(void); |
| /** |
| * Test word break using doForwardIndexSelectionTest |
| **/ |
| void TestForwardCharacterSelection(void); |
| /** |
| * Test character break using doFirstSelectionTest |
| **/ |
| void TestFirstCharacterSelection(void); |
| /** |
| * Test character break using doLastSelectionTest |
| **/ |
| void TestLastCharacterSelection(void); |
| /** |
| * Test character break using doBackwardSelectionTest |
| **/ |
| void TestBackwardCharacterSelection(void); |
| /** |
| * Test character break using doForwardIndexSelectionTest |
| **/ |
| void TestForwardCharacterIndexSelection(void); |
| /** |
| * Test character break using doBackwardIndexSelectionTest |
| **/ |
| void TestBackwardCharacterIndexSelection(void); |
| /** |
| * Test character break using doMultipleSelectionTest |
| **/ |
| void TestCharacterMultipleSelection(void); |
| /** |
| * test behaviour of BrakIteraor on an empty string |
| **/ |
| void TestEmptyString(void); |
| /** |
| * Test BreakIterator::getAvailableLocales |
| **/ |
| void TestGetAvailableLocales(void); |
| /** |
| * Test BreakIterator::getDisplayName |
| **/ |
| void TestGetDisplayName(void); |
| /** |
| * test methods preceding, following and isBoundary |
| **/ |
| void TestPreceding(void); |
| |
| void TestJapaneseLineBreak(void); |
| |
| void TestBug4153072(void); |
| |
| void TestEndBehavior(void); |
| |
| void TestSentenceInvariants(void); |
| |
| void TestWordInvariants(void); |
| |
| void TestLineInvariants(void); |
| |
| void TestCharacterInvariants(void); |
| |
| private: |
| /** |
| * internal methods to prepare test data |
| **/ |
| void addTestWordData(void); |
| void addTestSentenceData(void); |
| void addTestLineData(void); |
| void addTestCharacterData(void); |
| |
| UnicodeString createTestData(Enumeration* e); |
| |
| |
| /** |
| * Perform tests of BreakIterator forward functionality |
| * on different kinds of iterators (word, sentence, line and character) |
| **/ |
| void doForwardSelectionTest(BreakIterator& iterator, UnicodeString& testText, Vector* result); |
| /** |
| * Perform tests of BreakIterator backward functionality |
| * on different kinds of iterators (word, sentence, line and character) |
| **/ |
| void doBackwardSelectionTest(BreakIterator& iterator, UnicodeString& testText, Vector* result); |
| /** |
| * Perform tests of BreakIterator first selection functionality |
| * on different kinds of iterators (word, sentence, line and character) |
| **/ |
| void doFirstSelectionTest(BreakIterator& iterator, UnicodeString& testText, Vector* result); |
| /** |
| * Perform tests of BreakIterator last selection functionality |
| * on different kinds of iterators (word, sentence, line and character) |
| **/ |
| void doLastSelectionTest(BreakIterator& iterator, UnicodeString& testText, Vector* result); |
| /** |
| * Perform tests of BreakIterator forward index functionality |
| * on different kinds of iterators (word, sentence, line and character) |
| **/ |
| void doForwardIndexSelectionTest(BreakIterator& iterator, UnicodeString& testText, Vector* result); |
| /** |
| * Perform tests of BreakIterator backward index functionality |
| * on different kinds of iterators (word, sentence, line and character) |
| **/ |
| void doBackwardIndexSelectionTest(BreakIterator& iterator, UnicodeString& testText, Vector* result); |
| /** |
| * Perform tests of BreakIterator multiple selection functionality |
| * on different kinds of iterators (word, sentence, line and character) |
| **/ |
| void doMultipleSelectionTest(BreakIterator& iterator, UnicodeString& testText); |
| /** |
| * Perform tests with short sample code |
| **/ |
| void sample(BreakIterator& tb, UnicodeString& text, UnicodeString& title); |
| |
| void doBreakInvariantTest(BreakIterator& tb, UnicodeString& testChars); |
| |
| void doOtherInvariantTest(BreakIterator& tb, UnicodeString& testChars); |
| |
| Vector* lineSelectionData; |
| UnicodeString testLineText; |
| Vector* sentenceSelectionData; |
| UnicodeString testSentenceText; |
| Vector* wordSelectionData; |
| UnicodeString testWordText; |
| Vector* characterSelectionData; |
| UnicodeString testCharacterText; |
| static const UChar cannedTestArray[]; |
| static UnicodeString *cannedTestChars; |
| }; |
| |
| |
| #endif |