summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-xetex/test/intltest/dadrcoll.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-xetex/test/intltest/dadrcoll.h')
-rw-r--r--Build/source/libs/icu/icu-xetex/test/intltest/dadrcoll.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-xetex/test/intltest/dadrcoll.h b/Build/source/libs/icu/icu-xetex/test/intltest/dadrcoll.h
new file mode 100644
index 00000000000..b76f40db8d1
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/test/intltest/dadrcoll.h
@@ -0,0 +1,59 @@
+/********************************************************************
+ * COPYRIGHT:
+ * Copyright (c) 2002-2005, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ ********************************************************************/
+
+/**
+ * DataDrivenCollatorTest is a test class that uses data stored in resource
+ * bundles to perform testing. For more details on data structure, see
+ * source/test/testdata/DataDrivenCollationTest.txt
+ */
+
+#ifndef _INTLTESTDATADRIVENCOLLATOR
+#define _INTLTESTDATADRIVENCOLLATOR
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_COLLATION
+
+#include "tscoll.h"
+#include "uvector.h"
+#include "unicode/coll.h"
+#include "unicode/tblcoll.h"
+#include "unicode/sortkey.h"
+#include "unicode/schriter.h"
+
+class TestDataModule;
+class TestData;
+
+class SeqElement {
+public:
+ UnicodeString source;
+ Collator::EComparisonResult relation;
+};
+
+class DataDrivenCollatorTest: public IntlTestCollator {
+ void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par = NULL );
+public:
+ DataDrivenCollatorTest();
+ virtual ~DataDrivenCollatorTest();
+protected:
+
+ void DataDrivenTest(char *par);
+ void processSequence(Collator* col, const UnicodeString &sequence);
+ void processTest(TestData *testData);
+ void processArguments(Collator *col, const UChar *start, int32_t optLen);
+ UBool setTestSequence(const UnicodeString &setSequence, SeqElement &el);
+ UBool getNextInSequence(SeqElement &el);
+private:
+ StringCharacterIterator seq;
+ TestDataModule *driver;
+ UErrorCode status;
+ UVector sequences;
+ RuleBasedCollator *UCA; // needed for opening collators from binary images
+};
+
+#endif /* #if !UCONFIG_NO_COLLATION */
+
+#endif