home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / Programming / ICU / src / icu / source / test / cintltst / cregrtst.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-08-16  |  7.3 KB  |  224 lines

  1. /*
  2. *****************************************************************************************
  3. *                                                                                       *
  4. * COPYRIGHT:                                                                            *
  5. *   (C) Copyright Taligent, Inc.,  1996                                                 *
  6. *   (C) Copyright International Business Machines Corporation,  1999                    *
  7. *   Licensed Material - Program-Property of IBM - All Rights Reserved.                  *
  8. *   US Government Users Restricted Rights - Use, duplication, or disclosure             *
  9. *   restricted by GSA ADP Schedule Contract with IBM Corp.                              *
  10. *                                                                                       *
  11. *****************************************************************************************
  12. ********************************************************************************
  13. *
  14. * File CREGRTST.H
  15. *
  16. * Modification History:
  17. *        Name                     Description            
  18. *     Madhu Katragadda            Converted to C, added extra functions and tests
  19. *********************************************************************************
  20. */
  21.  
  22. /*C API functionality and regression test for BreakIterator*/
  23.  
  24. #ifndef _CBRKITREGTEST
  25. #define _CBRKITREGTEST
  26.  
  27.  
  28. #include "cintltst.h"
  29.  
  30.  
  31. struct Vector1;
  32. /* Internal functions used */
  33.     void addElement(struct Vector1*, const char*);
  34.     void addElement2(struct Vector1*, const UChar*);
  35.     int32_t Count(struct Vector1*);
  36.     UChar* elementAt(struct Vector1*, int32_t);
  37. /* Internal Functions used */
  38.     UChar* extractBetween(UTextOffset start, UTextOffset end, UChar* text);
  39.     UChar* CharsToUCharArray(const char*);
  40.     UChar* UCharToUCharArray(const UChar uchar);
  41.  
  42.     void AllocateTextBoundary(void);
  43.     void FreeTextBoundary(void);
  44.  
  45. /* The test functions */
  46.  
  47.     /**
  48.      * Test word break using doForwardSelectionTest
  49.      **/
  50.     void TestForwardWordSelection(void); 
  51.     /**
  52.      * Test word break using doFirstSelectionTest
  53.      **/
  54.     void TestFirstWordSelection(void); 
  55.     /**
  56.      * Test word break using doLastSelectionTest
  57.      **/
  58.     void TestLastWordSelection(void);
  59.     /**
  60.      * Test word break using doBackwardSelectionTest
  61.      **/
  62.     void TestBackwardWordSelection(void); 
  63.     /**
  64.      * Test word break using doForwardIndexSelectionTest
  65.      **/
  66.     void TestForwardWordIndexSelection(void); 
  67.     /**
  68.      * Test word break using doBackwardIndexSelectionTest
  69.      **/
  70.     void TestBackwardWordIndexSelection(void); 
  71.  
  72.     /**
  73.      * Test sentence break using doForwardSelectionTest
  74.      **/
  75.      void TestForwardSentenceSelection(void);
  76.     /**
  77.      * Test sentence break using doBackwardSelectionTest
  78.      **/
  79.     void TestBackwardSentenceSelection(void);
  80.     /**
  81.      * Test sentence break using doFirstSelectionTest
  82.      **/
  83.     void TestFirstSentenceSelection(void);
  84.     /**
  85.      * Test sentence break using doLastSelectionTest
  86.      **/
  87.     void TestLastSentenceSelection(void); 
  88.     /**
  89.      * Test sentence break using doForwardIndexSelectionTest
  90.     **/
  91.     void TestForwardSentenceIndexSelection(void);
  92.     /**
  93.     * Test sentence break using doBackwardIndexSelectionTest
  94.     **/
  95.     void TestBackwardSentenceIndexSelection(void);  
  96.  
  97.     /**
  98.      * Test line break using doForwardSelectionTest
  99.      **/
  100.     void TestForwardLineSelection(void);
  101.     /**
  102.      * Test line break using doBackwardSelectionTest
  103.      **/
  104.     void TestBackwardLineSelection(void); 
  105.     /**
  106.      * Test line break using doFirstSelectionTest
  107.      **/
  108.     void TestFirstLineSelection(void); 
  109.     /**
  110.      * Test line break using doLastSelectionTest
  111.      **/
  112.     void TestLastLineSelection(void); 
  113.     /**
  114.      * Test line break using doForwardIndexSelectionTest
  115.      **/
  116.     void TestForwardLineIndexSelection(void); 
  117.     /**
  118.      * Test line break using doBackwardIndexSelectionTest
  119.      **/
  120.     void TestBackwardLineIndexSelection(void);
  121.  
  122.     /**
  123.      * Test character break using doForwardSelectionTest
  124.      **/
  125.     void TestForwardCharacterSelection(void);
  126.     /**
  127.      * Test character break using doBackwardSelectionTest
  128.      **/
  129.     void TestBackwardCharacterSelection(void); 
  130.     /**
  131.      * Test character break using doFirstSelectionTest
  132.      **/
  133.     void TestFirstCharacterSelection(void); 
  134.     /**
  135.      * Test character break using doLastSelectionTest
  136.      **/
  137.     void TestLastCharacterSelection(void); 
  138.     /**
  139.      * Test character break using doForwardIndexSelectionTest
  140.      **/
  141.     void TestForwardCharacterIndexSelection(void); 
  142.     /**
  143.      * Test character break using doBackwardIndexSelectionTest
  144.      **/
  145.     void TestBackwardCharacterIndexSelection(void); 
  146.  
  147.  
  148.     /**
  149.      * test methods ubrk_preceding(), ubrk_following() 
  150.      **/
  151.     void TestPreceding(void);
  152.     void TestEndBehaviour(void);
  153.  
  154.     void TestWordInvariants(void);
  155.     void TestSentenceInvariants(void);
  156.     void TestCharacterInvariants(void);
  157.     void TestLineInvariants(void);
  158. /*-----------------*/
  159. /* Internal functions to prepare test data */
  160.  
  161.     void addTestWordData(void);
  162.     void addTestSentenceData(void);
  163.     void addTestLineData(void);
  164.     void addTestCharacterData(void);
  165.     UChar* createTestData(struct Vector1*, int32_t);
  166.  
  167. /* Test Implementation routines*/
  168.  
  169.     /**
  170.      * Perform tests of BreakIterator forward functionality 
  171.      * on different kinds of iterators (word, sentence, line and character)
  172.      **/
  173.     void doForwardSelectionTest(UBreakIterator*,  UChar* testText, struct Vector1* result);
  174.     /**
  175.      * Perform tests of BreakIterator backward functionality 
  176.      * on different kinds of iterators (word, sentence, line and character)
  177.      **/
  178.     void doBackwardSelectionTest(UBreakIterator*, UChar* testText, struct Vector1* result);
  179.     /**
  180.      * Perform tests of BreakIterator first selection functionality 
  181.      * on different kinds of iterators (word, sentence, line and character)
  182.      **/
  183.     void doFirstSelectionTest(UBreakIterator* iterator, UChar* testText, struct Vector1* result);
  184.     /**
  185.      * Perform tests of BreakIterator last selection functionality 
  186.      * on different kinds of iterators (word, sentence, line and character)
  187.      **/
  188.     void doLastSelectionTest(UBreakIterator* iterator, UChar* testText, struct Vector1* result);
  189.     /**
  190.      * Perform tests of BreakIterator backward index functionality 
  191.      * on different kinds of iterators (word, sentence, line and character)
  192.      **/
  193.     void doForwardIndexSelectionTest(UBreakIterator* iterator, UChar* testText, struct Vector1* result);
  194.     /**
  195.      * Perform tests of BreakIterator multiple selection functionality 
  196.      * on different kinds of iterators (word, sentence, line and character)
  197.      **/
  198.     void doBackwardIndexSelectionTest(UBreakIterator* iterator, UChar* testText, struct Vector1* result);
  199.     
  200.     void doBreakInvariantTest(UBreakIteratorType type, UChar* testChars);
  201.     
  202.     void doOtherInvariantTest(UBreakIteratorType type , UChar* testChars);
  203.     /**
  204.      * Perform tests with short sample code
  205.      **/
  206.     void sample(UBreakIterator* tb, UChar* text);
  207.  
  208.  
  209. struct Vector1* wordSelectionData;
  210. struct Vector1* sentenceSelectionData;
  211. struct Vector1* lineSelectionData;
  212. struct Vector1* characterSelectionData;
  213.  
  214. UChar* testWordText;
  215. UChar* testSentenceText;
  216. UChar* testLineText;
  217. UChar* testCharacterText;
  218.  
  219.  
  220. static UChar *cannedTestChars;
  221.  
  222.  
  223. #endif
  224.