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