Home | History | Annotate | Download | only in intltest
      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