• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 };
61