1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /********************************************************************
4 * Copyright (c) 1997-2016, International Business Machines Corporation and
5 * others. All Rights Reserved.
6 ********************************************************************/
8 #include "unicode/uniset.h"
11 /** Helper function for TestUnicodeData */
12 U_CFUNC
void U_CALLCONV
unicodeDataLineFn(void *context
,
13 char *fields
[][2], int32_t fieldCount
,
14 UErrorCode
*pErrorCode
);
16 U_CFUNC
void U_CALLCONV
17 derivedPropsLineFn(void *context
,
18 char *fields
[][2], int32_t fieldCount
,
19 UErrorCode
*pErrorCode
);
28 * Test API and functionality of class Unicode
30 class UnicodeTest
: public IntlTest
{
33 virtual ~UnicodeTest();
35 void runIndexedTest( int32_t index
, UBool exec
, const char* &name
, char* par
= NULL
);
37 void TestAdditionalProperties();
38 void TestBinaryValues();
39 void TestConsistency();
40 void TestPatternProperties();
41 void TestScriptMetadata();
42 void TestBidiPairedBracketType();
43 void TestEmojiProperties();
47 friend void U_CALLCONV
unicodeDataLineFn(void *context
,
48 char *fields
[][2], int32_t fieldCount
,
49 UErrorCode
*pErrorCode
);
51 friend void U_CALLCONV
52 derivedPropsLineFn(void *context
,
53 char *fields
[][2], int32_t fieldCount
,
54 UErrorCode
*pErrorCode
);
56 UnicodeSet derivedProps
[30];
57 U_NAMESPACE_QUALIFIER Hashtable
*unknownPropertyNames
;
59 UBool
compareUSets(const UnicodeSet
&a
, const UnicodeSet
&b
,
60 const char *a_name
, const char *b_name
,