]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/ucdtest.h
ICU-59152.0.1.tar.gz
[apple/icu.git] / icuSources / test / intltest / ucdtest.h
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 ********************************************************************/
7
8 #include "unicode/uniset.h"
9 #include "intltest.h"
10
11 /** Helper function for TestUnicodeData */
12 U_CFUNC void U_CALLCONV unicodeDataLineFn(void *context,
13 char *fields[][2], int32_t fieldCount,
14 UErrorCode *pErrorCode);
15
16 U_CFUNC void U_CALLCONV
17 derivedPropsLineFn(void *context,
18 char *fields[][2], int32_t fieldCount,
19 UErrorCode *pErrorCode);
20
21 U_NAMESPACE_BEGIN
22
23 class Hashtable;
24
25 U_NAMESPACE_END
26
27 /**
28 * Test API and functionality of class Unicode
29 **/
30 class UnicodeTest: public IntlTest {
31 public:
32 UnicodeTest();
33 virtual ~UnicodeTest();
34
35 void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
36
37 void TestAdditionalProperties();
38 void TestBinaryValues();
39 void TestConsistency();
40 void TestPatternProperties();
41 void TestScriptMetadata();
42 void TestBidiPairedBracketType();
43 void TestEmojiProperties();
44
45 private:
46
47 friend void U_CALLCONV unicodeDataLineFn(void *context,
48 char *fields[][2], int32_t fieldCount,
49 UErrorCode *pErrorCode);
50
51 friend void U_CALLCONV
52 derivedPropsLineFn(void *context,
53 char *fields[][2], int32_t fieldCount,
54 UErrorCode *pErrorCode);
55
56 UnicodeSet derivedProps[30];
57 U_NAMESPACE_QUALIFIER Hashtable *unknownPropertyNames;
58
59 UBool compareUSets(const UnicodeSet &a, const UnicodeSet &b,
60 const char *a_name, const char *b_name,
61 UBool diffIsError);
62 };