| /******************************************************************** |
| * Copyright (c) 1997-2016, International Business Machines Corporation and |
| * others. All Rights Reserved. |
| ********************************************************************/ |
| |
| #include "unicode/uniset.h" |
| #include "intltest.h" |
| |
| /** Helper function for TestUnicodeData */ |
| U_CFUNC void U_CALLCONV unicodeDataLineFn(void *context, |
| char *fields[][2], int32_t fieldCount, |
| UErrorCode *pErrorCode); |
| |
| U_CFUNC void U_CALLCONV |
| derivedPropsLineFn(void *context, |
| char *fields[][2], int32_t fieldCount, |
| UErrorCode *pErrorCode); |
| |
| U_NAMESPACE_BEGIN |
| |
| class Hashtable; |
| |
| U_NAMESPACE_END |
| |
| /** |
| * Test API and functionality of class Unicode |
| **/ |
| class UnicodeTest: public IntlTest { |
| public: |
| UnicodeTest(); |
| virtual ~UnicodeTest(); |
| |
| void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL ); |
| |
| void TestAdditionalProperties(); |
| void TestBinaryValues(); |
| void TestConsistency(); |
| void TestPatternProperties(); |
| void TestScriptMetadata(); |
| void TestBidiPairedBracketType(); |
| void TestEmojiProperties(); |
| |
| private: |
| |
| friend void U_CALLCONV unicodeDataLineFn(void *context, |
| char *fields[][2], int32_t fieldCount, |
| UErrorCode *pErrorCode); |
| |
| friend void U_CALLCONV |
| derivedPropsLineFn(void *context, |
| char *fields[][2], int32_t fieldCount, |
| UErrorCode *pErrorCode); |
| |
| UnicodeSet derivedProps[30]; |
| U_NAMESPACE_QUALIFIER Hashtable *unknownPropertyNames; |
| |
| UBool compareUSets(const UnicodeSet &a, const UnicodeSet &b, |
| const char *a_name, const char *b_name, |
| UBool diffIsError); |
| }; |