2000-01-15 02:00:06 +00:00
|
|
|
/********************************************************************
|
|
|
|
* COPYRIGHT:
|
2001-03-21 20:09:56 +00:00
|
|
|
* Copyright (c) 1997-2001, International Business Machines Corporation and
|
2000-01-15 02:00:06 +00:00
|
|
|
* others. All Rights Reserved.
|
|
|
|
********************************************************************/
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* MajorTestLevel is the top level test class for everything in the directory "IntlWork".
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _INTLTESTCOLLATOR
|
|
|
|
#define _INTLTESTCOLLATOR
|
|
|
|
|
|
|
|
|
|
|
|
#include "intltest.h"
|
2001-08-31 18:02:09 +00:00
|
|
|
#include "unicode/coll.h"
|
|
|
|
#include "unicode/sortkey.h"
|
2002-04-30 23:02:45 +00:00
|
|
|
#include "unicode/schriter.h"
|
|
|
|
#include "unicode/ures.h"
|
2002-07-02 22:36:34 +00:00
|
|
|
#include "unicode/coleitr.h"
|
|
|
|
#include "cmemory.h"
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
class IntlTestCollator: public IntlTest {
|
2002-04-30 23:02:45 +00:00
|
|
|
void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL );
|
2001-08-31 18:02:09 +00:00
|
|
|
protected:
|
2002-04-30 23:02:45 +00:00
|
|
|
// These two should probably go down in IntlTest
|
2002-08-04 06:25:06 +00:00
|
|
|
void doTest(Collator* col, const UChar *source, const UChar *target, Collator::EComparisonResult result);
|
|
|
|
|
|
|
|
void doTest(Collator* col, const UnicodeString &source, const UnicodeString &target, Collator::EComparisonResult result);
|
|
|
|
void doTestVariant(Collator* col, const UnicodeString &source, const UnicodeString &target, Collator::EComparisonResult result);
|
|
|
|
virtual void reportCResult( const UnicodeString &source, const UnicodeString &target,
|
2001-08-31 18:02:09 +00:00
|
|
|
CollationKey &sourceKey, CollationKey &targetKey,
|
|
|
|
Collator::EComparisonResult compareResult,
|
|
|
|
Collator::EComparisonResult keyResult,
|
|
|
|
Collator::EComparisonResult incResult,
|
|
|
|
Collator::EComparisonResult expectedResult );
|
|
|
|
|
|
|
|
static UnicodeString &prettify(const CollationKey &source, UnicodeString &target);
|
|
|
|
static UnicodeString &appendCompareResult(Collator::EComparisonResult result, UnicodeString &target);
|
2002-07-02 22:36:34 +00:00
|
|
|
void backAndForth(CollationElementIterator &iter);
|
|
|
|
/**
|
|
|
|
* Return an integer array containing all of the collation orders
|
|
|
|
* returned by calls to next on the specified iterator
|
|
|
|
*/
|
|
|
|
int32_t *getOrders(CollationElementIterator &iter, int32_t &orderLength);
|
|
|
|
|
1999-08-16 21:50:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|