diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2011-08-10 12:03:08 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2011-08-10 12:03:08 +0000 |
commit | 79b8b3a76d8eda7372bb4dedae0ec7aebdaebc12 (patch) | |
tree | 9e4992c8719febb576deb6120740611380d71f7a /Build/source/libs/icu/icu-4.8.1/test/intltest/itercoll.h | |
parent | 8cd13eb8f4bb7b92c6d9bb50aff9a62c37df026c (diff) |
icu 4.8.1
git-svn-id: svn://tug.org/texlive/trunk@23480 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/icu/icu-4.8.1/test/intltest/itercoll.h')
-rw-r--r-- | Build/source/libs/icu/icu-4.8.1/test/intltest/itercoll.h | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.8.1/test/intltest/itercoll.h b/Build/source/libs/icu/icu-4.8.1/test/intltest/itercoll.h new file mode 100644 index 00000000000..747f80f6689 --- /dev/null +++ b/Build/source/libs/icu/icu-4.8.1/test/intltest/itercoll.h @@ -0,0 +1,119 @@ +/******************************************************************** + * COPYRIGHT: + * Copyright (c) 1997-2001, International Business Machines Corporation and + * others. All Rights Reserved. + ********************************************************************/ + +/** + * Collation Iterator tests. + * (Let me reiterate my position...) + */ + +#ifndef _ITERCOLL +#define _ITERCOLL + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_COLLATION + +#include "unicode/tblcoll.h" +#include "unicode/coleitr.h" +#include "tscoll.h" + +class CollationIteratorTest: 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 }; + + CollationIteratorTest(); + virtual ~CollationIteratorTest(); + + void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL); + + /** + * Test that results from CollationElementIterator.next is equivalent to + * the reversed results from CollationElementIterator.previous, for the set + * of BMP characters. + */ + void TestUnicodeChar(); + + /** + * Test for CollationElementIterator.previous() + * + * @bug 4108758 - Make sure it works with contracting characters + * + */ + void TestPrevious(/* char* par */); + + /** + * Test for getOffset() and setOffset() + */ + void TestOffset(/* char* par */); + + /** + * Test for setText() + */ + void TestSetText(/* char* par */); + + /** @bug 4108762 + * Test for getMaxExpansion() + */ + void TestMaxExpansion(/* char* par */); + + /* + * @bug 4157299 + */ + void TestClearBuffers(/* char* par */); + + /** + * Testing the assignment operator + */ + void TestAssignment(); + + /** + * Testing the constructors + */ + void TestConstructors(); + + /** + * Testing the strength order functionality + */ + void TestStrengthOrder(); + + //------------------------------------------------------------------------ + // Internal utilities + // + +private: + + struct ExpansionRecord + { + UChar character; + int32_t count; + }; + + /** + * Verify that getMaxExpansion works on a given set of collation rules + */ + void verifyExpansion(UnicodeString rules, ExpansionRecord tests[], int32_t testCount); + + /** + * Return a string containing all of the collation orders + * returned by calls to next on the specified iterator + */ + UnicodeString &orderString(CollationElementIterator &iter, UnicodeString &target); + + void assertEqual(CollationElementIterator &i1, CollationElementIterator &i2); + + RuleBasedCollator *en_us; + const UnicodeString test1; + const UnicodeString test2; + +}; + +#endif /* #if !UCONFIG_NO_COLLATION */ + +#endif |