249 lines
7.8 KiB
C
249 lines
7.8 KiB
C
|
/*
|
||
|
*****************************************************************************************
|
||
|
* *
|
||
|
* 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
|