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