]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/intltest/ucdtest.h
ICU-62108.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 void TestDefaultScriptExtensions();
45 void TestInvalidCodePointFolding();
46
47 private:
48
49 friend void U_CALLCONV unicodeDataLineFn(void *context,
50 char *fields[][2], int32_t fieldCount,
51 UErrorCode *pErrorCode);
52
53 friend void U_CALLCONV
54 derivedPropsLineFn(void *context,
55 char *fields[][2], int32_t fieldCount,
56 UErrorCode *pErrorCode);
57
58 UnicodeSet derivedProps[30];
59 U_NAMESPACE_QUALIFIER Hashtable *unknownPropertyNames;
60
61 UBool compareUSets(const UnicodeSet &a, const UnicodeSet &b,
62 const char *a_name, const char *b_name,
63 UBool diffIsError);
64 };