Home | History | Annotate | Download | only in intltest
      1 /********************************************************************
      2  * COPYRIGHT:
      3  * Copyright (c) 2002-2006, International Business Machines Corporation and
      4  * others. All Rights Reserved.
      5  ********************************************************************
      6  *
      7  * @author Mark E. Davis
      8  * @author Vladimir Weinstein
      9  */
     10 
     11 /**
     12  * Test Canonical Iterator
     13  */
     14 
     15 #ifndef _CANITTST
     16 #define _CANITTST
     17 
     18 #include "unicode/utypes.h"
     19 
     20 #if !UCONFIG_NO_NORMALIZATION
     21 
     22 
     23 U_NAMESPACE_BEGIN
     24 
     25 class Transliterator;
     26 
     27 U_NAMESPACE_END
     28 
     29 #include "unicode/translit.h"
     30 #include "unicode/caniter.h"
     31 #include "intltest.h"
     32 #include "hash.h"
     33 
     34 class CanonicalIteratorTest : public IntlTest {
     35 public:
     36     CanonicalIteratorTest();
     37     virtual ~CanonicalIteratorTest();
     38 
     39     void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
     40 
     41     void TestCanonicalIterator(void);
     42     void TestExhaustive(void);
     43     void TestBasic();
     44     void TestAPI();
     45     UnicodeString collectionToString(Hashtable *col);
     46     //static UnicodeString collectionToString(Collection col);
     47 private:
     48     void expectEqual(const UnicodeString &message, const UnicodeString &item, const UnicodeString &a, const UnicodeString &b);
     49     void characterTest(UnicodeString &s, UChar32 ch, CanonicalIterator &it);
     50 
     51     Transliterator *nameTrans;
     52     Transliterator *hexTrans;
     53 
     54     UnicodeString getReadable(const UnicodeString &obj);
     55 };
     56 
     57 #endif /* #if !UCONFIG_NO_NORMALIZATION */
     58 
     59 #endif // _CANITTST
     60