1 /******************************************************************** 
   2  * Copyright (c) 1997-2016, International Business Machines Corporation and 
   3  * others. All Rights Reserved. 
   4  ********************************************************************/ 
   6 #include "unicode/uniset.h" 
   9 /** Helper function for TestUnicodeData */ 
  10 U_CFUNC 
void U_CALLCONV 
unicodeDataLineFn(void *context
, 
  11                               char *fields
[][2], int32_t fieldCount
, 
  12                               UErrorCode 
*pErrorCode
); 
  14 U_CFUNC 
void U_CALLCONV
 
  15 derivedPropsLineFn(void *context
, 
  16                    char *fields
[][2], int32_t fieldCount
, 
  17                    UErrorCode 
*pErrorCode
); 
  26  * Test API and functionality of class Unicode 
  28 class UnicodeTest
: public IntlTest 
{ 
  31     virtual ~UnicodeTest(); 
  33     void runIndexedTest( int32_t index
, UBool exec
, const char* &name
, char* par 
= NULL 
); 
  35     void TestAdditionalProperties(); 
  36     void TestBinaryValues(); 
  37     void TestConsistency(); 
  38     void TestPatternProperties(); 
  39     void TestScriptMetadata(); 
  40     void TestBidiPairedBracketType(); 
  41     void TestEmojiProperties(); 
  45     friend void U_CALLCONV 
unicodeDataLineFn(void *context
, 
  46                               char *fields
[][2], int32_t fieldCount
, 
  47                               UErrorCode 
*pErrorCode
); 
  49     friend void U_CALLCONV
 
  50     derivedPropsLineFn(void *context
, 
  51                            char *fields
[][2], int32_t fieldCount
, 
  52                            UErrorCode 
*pErrorCode
); 
  54     UnicodeSet derivedProps
[30]; 
  55     U_NAMESPACE_QUALIFIER Hashtable 
*unknownPropertyNames
; 
  57     UBool 
compareUSets(const UnicodeSet 
&a
, const UnicodeSet 
&b
, 
  58                        const char *a_name
, const char *b_name
,