| /******************************************************************** |
| * COPYRIGHT: |
| * Copyright (c) 2002-2012, International Business Machines Corporation and |
| * others. All Rights Reserved. |
| ********************************************************************/ |
| |
| /** |
| * UCAConformanceTest performs conformance tests defined in the data |
| * files. ICU ships with stub data files, as the whole test are too |
| * long. To do the whole test, download the test files. |
| */ |
| |
| #ifndef _UCACONF_TST |
| #define _UCACONF_TST |
| |
| #include "unicode/utypes.h" |
| |
| #if !UCONFIG_NO_COLLATION |
| |
| #include "unicode/tblcoll.h" |
| #include "tscoll.h" |
| |
| #include <stdio.h> |
| |
| class UCAConformanceTest: public IntlTestCollator { |
| public: |
| UCAConformanceTest(); |
| virtual ~UCAConformanceTest(); |
| |
| void runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par = NULL */); |
| |
| void TestTableNonIgnorable(/* par */); |
| void TestTableShifted(/* par */); |
| void TestRulesNonIgnorable(/* par */); |
| void TestRulesShifted(/* par */); |
| private: |
| void initRbUCA(); |
| void setCollNonIgnorable(Collator *coll); |
| void setCollShifted(Collator *coll); |
| void testConformance(const Collator *coll); |
| void openTestFile(const char *type); |
| |
| RuleBasedCollator *UCA; // rule-based so rules are available |
| Collator *rbUCA; |
| FILE *testFile; |
| UErrorCode status; |
| char testDataPath[1024]; |
| UBool isAtLeastUCA62; |
| }; |
| |
| #endif /* #if !UCONFIG_NO_COLLATION */ |
| |
| #endif |