• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /********************************************************************
2  * COPYRIGHT:
3  * Copyright (c) 1997-2011, 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 
41 private:
42 
43     friend void U_CALLCONV unicodeDataLineFn(void *context,
44                               char *fields[][2], int32_t fieldCount,
45                               UErrorCode *pErrorCode);
46 
47     friend void U_CALLCONV
48     derivedPropsLineFn(void *context,
49                            char *fields[][2], int32_t fieldCount,
50                            UErrorCode *pErrorCode);
51 
52     UnicodeSet derivedProps[30];
53     U_NAMESPACE_QUALIFIER Hashtable *unknownPropertyNames;
54 
55     UBool compareUSets(const UnicodeSet &a, const UnicodeSet &b,
56                        const char *a_name, const char *b_name,
57                        UBool diffIsError);
58 };
59