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