1// © 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 21struct SearchData; 22typedef struct SearchData SearchData; 23 24class StringSearchTest: public IntlTest 25{ 26public: 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 33private: 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