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