home *** CD-ROM | disk | FTP | other *** search
- /*
- *****************************************************************************************
- * *
- * COPYRIGHT: *
- * (C) Copyright Taligent, Inc., 1996 *
- * (C) Copyright International Business Machines Corporation, 1999 *
- * 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. *
- * *
- *****************************************************************************************
- ********************************************************************************
- *
- * File CREGRTST.H
- *
- * Modification History:
- * Name Description
- * Madhu Katragadda Converted to C, added extra functions and tests
- *********************************************************************************
- */
-
- /*C API functionality and regression test for BreakIterator*/
-
- #ifndef _CBRKITREGTEST
- #define _CBRKITREGTEST
-
-
- #include "cintltst.h"
-
-
- struct Vector1;
- /* Internal functions used */
- void addElement(struct Vector1*, const char*);
- void addElement2(struct Vector1*, const UChar*);
- int32_t Count(struct Vector1*);
- UChar* elementAt(struct Vector1*, int32_t);
- /* Internal Functions used */
- UChar* extractBetween(UTextOffset start, UTextOffset end, UChar* text);
- UChar* CharsToUCharArray(const char*);
- UChar* UCharToUCharArray(const UChar uchar);
-
- void AllocateTextBoundary(void);
- void FreeTextBoundary(void);
-
- /* The test functions */
-
- /**
- * 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 sentence break using doForwardSelectionTest
- **/
- void TestForwardSentenceSelection(void);
- /**
- * Test sentence break using doBackwardSelectionTest
- **/
- void TestBackwardSentenceSelection(void);
- /**
- * Test sentence break using doFirstSelectionTest
- **/
- void TestFirstSentenceSelection(void);
- /**
- * Test sentence break using doLastSelectionTest
- **/
- void TestLastSentenceSelection(void);
- /**
- * Test sentence break using doForwardIndexSelectionTest
- **/
- void TestForwardSentenceIndexSelection(void);
- /**
- * Test sentence break using doBackwardIndexSelectionTest
- **/
- void TestBackwardSentenceIndexSelection(void);
-
- /**
- * Test line break using doForwardSelectionTest
- **/
- void TestForwardLineSelection(void);
- /**
- * Test line break using doBackwardSelectionTest
- **/
- void TestBackwardLineSelection(void);
- /**
- * Test line break using doFirstSelectionTest
- **/
- void TestFirstLineSelection(void);
- /**
- * Test line break using doLastSelectionTest
- **/
- void TestLastLineSelection(void);
- /**
- * Test line break using doForwardIndexSelectionTest
- **/
- void TestForwardLineIndexSelection(void);
- /**
- * Test line break using doBackwardIndexSelectionTest
- **/
- void TestBackwardLineIndexSelection(void);
-
- /**
- * Test character break using doForwardSelectionTest
- **/
- void TestForwardCharacterSelection(void);
- /**
- * Test character break using doBackwardSelectionTest
- **/
- void TestBackwardCharacterSelection(void);
- /**
- * Test character break using doFirstSelectionTest
- **/
- void TestFirstCharacterSelection(void);
- /**
- * Test character break using doLastSelectionTest
- **/
- void TestLastCharacterSelection(void);
- /**
- * Test character break using doForwardIndexSelectionTest
- **/
- void TestForwardCharacterIndexSelection(void);
- /**
- * Test character break using doBackwardIndexSelectionTest
- **/
- void TestBackwardCharacterIndexSelection(void);
-
-
- /**
- * test methods ubrk_preceding(), ubrk_following()
- **/
- void TestPreceding(void);
- void TestEndBehaviour(void);
-
- void TestWordInvariants(void);
- void TestSentenceInvariants(void);
- void TestCharacterInvariants(void);
- void TestLineInvariants(void);
- /*-----------------*/
- /* Internal functions to prepare test data */
-
- void addTestWordData(void);
- void addTestSentenceData(void);
- void addTestLineData(void);
- void addTestCharacterData(void);
- UChar* createTestData(struct Vector1*, int32_t);
-
- /* Test Implementation routines*/
-
- /**
- * Perform tests of BreakIterator forward functionality
- * on different kinds of iterators (word, sentence, line and character)
- **/
- void doForwardSelectionTest(UBreakIterator*, UChar* testText, struct Vector1* result);
- /**
- * Perform tests of BreakIterator backward functionality
- * on different kinds of iterators (word, sentence, line and character)
- **/
- void doBackwardSelectionTest(UBreakIterator*, UChar* testText, struct Vector1* result);
- /**
- * Perform tests of BreakIterator first selection functionality
- * on different kinds of iterators (word, sentence, line and character)
- **/
- void doFirstSelectionTest(UBreakIterator* iterator, UChar* testText, struct Vector1* result);
- /**
- * Perform tests of BreakIterator last selection functionality
- * on different kinds of iterators (word, sentence, line and character)
- **/
- void doLastSelectionTest(UBreakIterator* iterator, UChar* testText, struct Vector1* result);
- /**
- * Perform tests of BreakIterator backward index functionality
- * on different kinds of iterators (word, sentence, line and character)
- **/
- void doForwardIndexSelectionTest(UBreakIterator* iterator, UChar* testText, struct Vector1* result);
- /**
- * Perform tests of BreakIterator multiple selection functionality
- * on different kinds of iterators (word, sentence, line and character)
- **/
- void doBackwardIndexSelectionTest(UBreakIterator* iterator, UChar* testText, struct Vector1* result);
-
- void doBreakInvariantTest(UBreakIteratorType type, UChar* testChars);
-
- void doOtherInvariantTest(UBreakIteratorType type , UChar* testChars);
- /**
- * Perform tests with short sample code
- **/
- void sample(UBreakIterator* tb, UChar* text);
-
-
- struct Vector1* wordSelectionData;
- struct Vector1* sentenceSelectionData;
- struct Vector1* lineSelectionData;
- struct Vector1* characterSelectionData;
-
- UChar* testWordText;
- UChar* testSentenceText;
- UChar* testLineText;
- UChar* testCharacterText;
-
-
- static UChar *cannedTestChars;
-
-
- #endif
-