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 25class UCAConformanceTest: public IntlTestCollator { 26public: 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 */); 36private: 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 54