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