]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/ucaconf.h
ICU-511.27.tar.gz
[apple/icu.git] / icuSources / test / intltest / ucaconf.h
1 /********************************************************************
2 * COPYRIGHT:
3 * Copyright (c) 2002-2012, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 ********************************************************************/
6
7 /**
8 * UCAConformanceTest performs conformance tests defined in the data
9 * files. ICU ships with stub data files, as the whole test are too
10 * long. To do the whole test, download the test files.
11 */
12
13 #ifndef _UCACONF_TST
14 #define _UCACONF_TST
15
16 #include "unicode/utypes.h"
17
18 #if !UCONFIG_NO_COLLATION
19
20 #include "unicode/tblcoll.h"
21 #include "tscoll.h"
22
23 #include <stdio.h>
24
25 class UCAConformanceTest: public IntlTestCollator {
26 public:
27 UCAConformanceTest();
28 virtual ~UCAConformanceTest();
29
30 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par = NULL */);
31
32 void TestTableNonIgnorable(/* par */);
33 void TestTableShifted(/* par */);
34 void TestRulesNonIgnorable(/* par */);
35 void TestRulesShifted(/* par */);
36 private:
37 void initRbUCA();
38 void setCollNonIgnorable(Collator *coll);
39 void setCollShifted(Collator *coll);
40 void testConformance(const Collator *coll);
41 void openTestFile(const char *type);
42
43 RuleBasedCollator *UCA; // rule-based so rules are available
44 Collator *rbUCA;
45 FILE *testFile;
46 UErrorCode status;
47 char testDataPath[1024];
48 UBool isAtLeastUCA62;
49 };
50
51 #endif /* #if !UCONFIG_NO_COLLATION */
52
53 #endif