Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / icu / source / test / intltest / ucdtest.h
1 /********************************************************************
2  * COPYRIGHT: 
3  * Copyright (c) 1997-2013, International Business Machines Corporation and
4  * others. All Rights Reserved.
5  ********************************************************************/
6
7 #include "unicode/uniset.h"
8 #include "intltest.h"
9
10 /** Helper function for TestUnicodeData */
11 U_CFUNC void U_CALLCONV unicodeDataLineFn(void *context,
12                               char *fields[][2], int32_t fieldCount,
13                               UErrorCode *pErrorCode);
14
15 U_CFUNC void U_CALLCONV
16 derivedPropsLineFn(void *context,
17                    char *fields[][2], int32_t fieldCount,
18                    UErrorCode *pErrorCode);
19
20 U_NAMESPACE_BEGIN
21
22 class Hashtable;
23
24 U_NAMESPACE_END
25
26 /** 
27  * Test API and functionality of class Unicode
28  **/
29 class UnicodeTest: public IntlTest {
30 public:
31     UnicodeTest();
32     virtual ~UnicodeTest();
33     
34     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
35
36     void TestAdditionalProperties();
37     void TestBinaryValues();
38     void TestConsistency();
39     void TestPatternProperties();
40     void TestScriptMetadata();
41     void TestBidiPairedBracketType();
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 };