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
,