]>
Commit | Line | Data |
---|---|---|
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 | }; |