diff options
Diffstat (limited to 'Build/source/libs/icu/icu-xetex/test/intltest/mnkytst.h')
-rw-r--r-- | Build/source/libs/icu/icu-xetex/test/intltest/mnkytst.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-xetex/test/intltest/mnkytst.h b/Build/source/libs/icu/icu-xetex/test/intltest/mnkytst.h new file mode 100644 index 00000000000..e13c497cb20 --- /dev/null +++ b/Build/source/libs/icu/icu-xetex/test/intltest/mnkytst.h @@ -0,0 +1,54 @@ +/******************************************************************** + * COPYRIGHT: + * Copyright (c) 1997-2003, International Business Machines Corporation and + * others. All Rights Reserved. + ********************************************************************/ + +/** + * CollationMonkeyTest is a third level test class. This tests the random + * substrings of the default test strings to verify if the compare and + * sort key algorithm works correctly. For example, any string is always + * less than the string itself appended with any character. + */ + +#ifndef _MNKYTST +#define _MNKYTST + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_COLLATION + +#include "tscoll.h" + +class CollationMonkeyTest: public IntlTestCollator { +public: + // If this is too small for the test data, just increase it. + // Just don't make it too large, otherwise the executable will get too big + enum EToken_Len { MAX_TOKEN_LEN = 16 }; + + CollationMonkeyTest(); + virtual ~CollationMonkeyTest(); + void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); + + // utility function used in tests, returns absolute value + int32_t checkValue(int32_t value); + + // perform monkey tests using Collator::compare + void TestCompare(/* char* par */); + + // perform monkey tests using CollationKey::compareTo + void TestCollationKey(/* char* par */); + + void TestRules(/* char* par */); + +private: + void report(UnicodeString& s, UnicodeString& t, int32_t result, int32_t revResult); + + const UnicodeString source; + + Collator *myCollator; +}; + +#endif /* #if !UCONFIG_NO_COLLATION */ + +#endif |