You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
3.1 KiB
100 lines
3.1 KiB
// © 2016 and later: Unicode, Inc. and others.
|
|
// License & terms of use: http://www.unicode.org/copyright.html
|
|
/****************************************************************************
|
|
* COPYRIGHT:
|
|
* Copyright (c) 2001-2008, International Business Machines Corporation and others
|
|
* All Rights Reserved.
|
|
***************************************************************************/
|
|
|
|
#ifndef _STRSRCH_H
|
|
#define _STRSRCH_H
|
|
|
|
#include "unicode/utypes.h"
|
|
|
|
#if !UCONFIG_NO_COLLATION
|
|
|
|
#include "unicode/tblcoll.h"
|
|
#include "unicode/brkiter.h"
|
|
#include "intltest.h"
|
|
#include "unicode/usearch.h"
|
|
|
|
struct SearchData;
|
|
typedef struct SearchData SearchData;
|
|
|
|
class StringSearchTest: public IntlTest
|
|
{
|
|
public:
|
|
StringSearchTest();
|
|
virtual ~StringSearchTest();
|
|
|
|
void runIndexedTest(int32_t index, UBool exec, const char* &name,
|
|
char* par = NULL);
|
|
#if !UCONFIG_NO_BREAK_ITERATION
|
|
private:
|
|
RuleBasedCollator *m_en_us_;
|
|
RuleBasedCollator *m_fr_fr_;
|
|
RuleBasedCollator *m_de_;
|
|
RuleBasedCollator *m_es_;
|
|
BreakIterator *m_en_wordbreaker_;
|
|
BreakIterator *m_en_characterbreaker_;
|
|
|
|
RuleBasedCollator * getCollator(const char *collator);
|
|
BreakIterator * getBreakIterator(const char *breaker);
|
|
char * toCharString(const UnicodeString &text);
|
|
Collator::ECollationStrength getECollationStrength(
|
|
const UCollationStrength &strength) const;
|
|
UBool assertEqualWithStringSearch( StringSearch *strsrch,
|
|
const SearchData *search);
|
|
UBool assertEqual(const SearchData *search);
|
|
UBool assertCanonicalEqual(const SearchData *search);
|
|
UBool assertEqualWithAttribute(const SearchData *search,
|
|
USearchAttributeValue canonical,
|
|
USearchAttributeValue overlap);
|
|
void TestOpenClose();
|
|
void TestInitialization();
|
|
void TestBasic();
|
|
void TestNormExact();
|
|
void TestStrength();
|
|
#if !UCONFIG_NO_BREAK_ITERATION
|
|
void TestBreakIterator();
|
|
#endif
|
|
void TestVariable();
|
|
void TestOverlap();
|
|
void TestCollator();
|
|
void TestPattern();
|
|
void TestText();
|
|
void TestCompositeBoundaries();
|
|
void TestGetSetOffset();
|
|
void TestGetSetAttribute();
|
|
void TestGetMatch();
|
|
void TestSetMatch();
|
|
void TestReset();
|
|
void TestSupplementary();
|
|
void TestContraction();
|
|
void TestIgnorable();
|
|
void TestCanonical();
|
|
void TestNormCanonical();
|
|
void TestStrengthCanonical();
|
|
#if !UCONFIG_NO_BREAK_ITERATION
|
|
void TestBreakIteratorCanonical();
|
|
#endif
|
|
void TestVariableCanonical();
|
|
void TestOverlapCanonical();
|
|
void TestCollatorCanonical();
|
|
void TestPatternCanonical();
|
|
void TestTextCanonical();
|
|
void TestCompositeBoundariesCanonical();
|
|
void TestGetSetOffsetCanonical();
|
|
void TestSupplementaryCanonical();
|
|
void TestContractionCanonical();
|
|
void TestUClassID();
|
|
void TestSubclass();
|
|
void TestCoverage();
|
|
void TestDiacriticMatch();
|
|
#endif
|
|
};
|
|
|
|
#endif /* #if !UCONFIG_NO_COLLATION */
|
|
|
|
#endif
|