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();
44 void TestIndicPositionalCategory();
45 void TestIndicSyllabicCategory();
46 void TestVerticalOrientation();
47 void TestDefaultScriptExtensions();
48 void TestInvalidCodePointFolding();
49 void TestBinaryCharacterProperties();
50 void TestIntCharacterProperties();
54 friend void U_CALLCONV
unicodeDataLineFn(void *context
,
55 char *fields
[][2], int32_t fieldCount
,
56 UErrorCode
*pErrorCode
);
58 friend void U_CALLCONV
59 derivedPropsLineFn(void *context
,
60 char *fields
[][2], int32_t fieldCount
,
61 UErrorCode
*pErrorCode
);
63 UnicodeSet derivedProps
[30];
64 U_NAMESPACE_QUALIFIER Hashtable
*unknownPropertyNames
;
66 UBool
compareUSets(const UnicodeSet
&a
, const UnicodeSet
&b
,
67 const char *a_name
, const char *b_name
,