1 // Copyright (C) 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,