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