Home | History | Annotate | Download | only in intltest
      1 // Copyright (C) 2016 and later: Unicode, Inc. and others.
      2 // License & terms of use: http://www.unicode.org/copyright.html
      3 /****************************************************************************
      4  * COPYRIGHT:
      5  * Copyright (c) 2001-2008, International Business Machines Corporation and others
      6  * All Rights Reserved.
      7  ***************************************************************************/
      8 
      9 #ifndef _STRSRCH_H
     10 #define _STRSRCH_H
     11 
     12 #include "unicode/utypes.h"
     13 
     14 #if !UCONFIG_NO_COLLATION
     15 
     16 #include "unicode/tblcoll.h"
     17 #include "unicode/brkiter.h"
     18 #include "intltest.h"
     19 #include "unicode/usearch.h"
     20 
     21 struct SearchData;
     22 typedef struct SearchData SearchData;
     23 
     24 class StringSearchTest: public IntlTest
     25 {
     26 public:
     27     StringSearchTest();
     28     virtual ~StringSearchTest();
     29 
     30     void runIndexedTest(int32_t index, UBool exec, const char* &name,
     31                         char* par = NULL);
     32 #if !UCONFIG_NO_BREAK_ITERATION
     33 private:
     34     RuleBasedCollator *m_en_us_;
     35     RuleBasedCollator *m_fr_fr_;
     36     RuleBasedCollator *m_de_;
     37     RuleBasedCollator *m_es_;
     38     BreakIterator     *m_en_wordbreaker_;
     39     BreakIterator     *m_en_characterbreaker_;
     40 
     41     RuleBasedCollator * getCollator(const char *collator);
     42     BreakIterator     * getBreakIterator(const char *breaker);
     43     char              * toCharString(const UnicodeString &text);
     44     Collator::ECollationStrength getECollationStrength(
     45                                    const UCollationStrength &strength) const;
     46     UBool           assertEqualWithStringSearch(      StringSearch *strsrch,
     47                                                 const SearchData   *search);
     48     UBool           assertEqual(const SearchData *search);
     49     UBool           assertCanonicalEqual(const SearchData *search);
     50     UBool           assertEqualWithAttribute(const SearchData *search,
     51                                             USearchAttributeValue canonical,
     52                                             USearchAttributeValue overlap);
     53     void TestOpenClose();
     54     void TestInitialization();
     55     void TestBasic();
     56     void TestNormExact();
     57     void TestStrength();
     58 #if !UCONFIG_NO_BREAK_ITERATION
     59     void TestBreakIterator();
     60 #endif
     61     void TestVariable();
     62     void TestOverlap();
     63     void TestCollator();
     64     void TestPattern();
     65     void TestText();
     66     void TestCompositeBoundaries();
     67     void TestGetSetOffset();
     68     void TestGetSetAttribute();
     69     void TestGetMatch();
     70     void TestSetMatch();
     71     void TestReset();
     72     void TestSupplementary();
     73     void TestContraction();
     74     void TestIgnorable();
     75     void TestCanonical();
     76     void TestNormCanonical();
     77     void TestStrengthCanonical();
     78 #if !UCONFIG_NO_BREAK_ITERATION
     79     void TestBreakIteratorCanonical();
     80 #endif
     81     void TestVariableCanonical();
     82     void TestOverlapCanonical();
     83     void TestCollatorCanonical();
     84     void TestPatternCanonical();
     85     void TestTextCanonical();
     86     void TestCompositeBoundariesCanonical();
     87     void TestGetSetOffsetCanonical();
     88     void TestSupplementaryCanonical();
     89     void TestContractionCanonical();
     90     void TestUClassID();
     91     void TestSubclass();
     92     void TestCoverage();
     93     void TestDiacriticMatch();
     94 #endif
     95 };
     96 
     97 #endif /* #if !UCONFIG_NO_COLLATION */
     98 
     99 #endif
    100