Home | History | Annotate | Download | only in intltest
      1 /********************************************************************
      2  * COPYRIGHT:
      3  * Copyright (c) 1997-2011, International Business Machines Corporation and
      4  * others. All Rights Reserved.
      5  ********************************************************************/
      6 
      7 #include "unicode/uniset.h"
      8 #include "intltest.h"
      9 
     10 /** Helper function for TestUnicodeData */
     11 U_CFUNC void U_CALLCONV unicodeDataLineFn(void *context,
     12                               char *fields[][2], int32_t fieldCount,
     13                               UErrorCode *pErrorCode);
     14 
     15 U_CFUNC void U_CALLCONV
     16 derivedPropsLineFn(void *context,
     17                    char *fields[][2], int32_t fieldCount,
     18                    UErrorCode *pErrorCode);
     19 
     20 U_NAMESPACE_BEGIN
     21 
     22 class Hashtable;
     23 
     24 U_NAMESPACE_END
     25 
     26 /**
     27  * Test API and functionality of class Unicode
     28  **/
     29 class UnicodeTest: public IntlTest {
     30 public:
     31     UnicodeTest();
     32     virtual ~UnicodeTest();
     33 
     34     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
     35 
     36     void TestAdditionalProperties();
     37     void TestBinaryValues();
     38     void TestConsistency();
     39     void TestPatternProperties();
     40 
     41 private:
     42 
     43     friend void U_CALLCONV unicodeDataLineFn(void *context,
     44                               char *fields[][2], int32_t fieldCount,
     45                               UErrorCode *pErrorCode);
     46 
     47     friend void U_CALLCONV
     48     derivedPropsLineFn(void *context,
     49                            char *fields[][2], int32_t fieldCount,
     50                            UErrorCode *pErrorCode);
     51 
     52     UnicodeSet derivedProps[30];
     53     U_NAMESPACE_QUALIFIER Hashtable *unknownPropertyNames;
     54 
     55     UBool compareUSets(const UnicodeSet &a, const UnicodeSet &b,
     56                        const char *a_name, const char *b_name,
     57                        UBool diffIsError);
     58 };
     59