]>
Commit | Line | Data |
---|---|---|
f3c0d7a5 A |
1 | // © 2016 and later: Unicode, Inc. and others. |
2 | // License & terms of use: http://www.unicode.org/copyright.html | |
b75a7d8f | 3 | /******************************************************************** |
2ca993e8 | 4 | * Copyright (c) 1997-2016, International Business Machines Corporation and |
b75a7d8f A |
5 | * others. All Rights Reserved. |
6 | ********************************************************************/ | |
7 | ||
8 | #include "unicode/uniset.h" | |
9 | #include "intltest.h" | |
10 | ||
11 | /** Helper function for TestUnicodeData */ | |
374ca955 | 12 | U_CFUNC void U_CALLCONV unicodeDataLineFn(void *context, |
b75a7d8f A |
13 | char *fields[][2], int32_t fieldCount, |
14 | UErrorCode *pErrorCode); | |
15 | ||
374ca955 | 16 | U_CFUNC void U_CALLCONV |
729e4ab9 A |
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 | |
b75a7d8f A |
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(); | |
46f4442e | 38 | void TestBinaryValues(); |
729e4ab9 | 39 | void TestConsistency(); |
4388f060 | 40 | void TestPatternProperties(); |
51004dcb | 41 | void TestScriptMetadata(); |
57a6839d | 42 | void TestBidiPairedBracketType(); |
2ca993e8 | 43 | void TestEmojiProperties(); |
3d1f044b A |
44 | void TestIndicPositionalCategory(); |
45 | void TestIndicSyllabicCategory(); | |
46 | void TestVerticalOrientation(); | |
0f5d89e8 A |
47 | void TestDefaultScriptExtensions(); |
48 | void TestInvalidCodePointFolding(); | |
3d1f044b A |
49 | void TestBinaryCharacterProperties(); |
50 | void TestIntCharacterProperties(); | |
b75a7d8f A |
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 | |
729e4ab9 | 59 | derivedPropsLineFn(void *context, |
b75a7d8f A |
60 | char *fields[][2], int32_t fieldCount, |
61 | UErrorCode *pErrorCode); | |
62 | ||
729e4ab9 A |
63 | UnicodeSet derivedProps[30]; |
64 | U_NAMESPACE_QUALIFIER Hashtable *unknownPropertyNames; | |
b75a7d8f | 65 | |
4388f060 A |
66 | UBool compareUSets(const UnicodeSet &a, const UnicodeSet &b, |
67 | const char *a_name, const char *b_name, | |
68 | UBool diffIsError); | |
69 | }; |