scuffed-code/icu4c/source/test/intltest/tstnorm.h

77 lines
1.9 KiB
C
Raw Normal View History

/********************************************************************
* COPYRIGHT:
* Copyright (c) 1997-2001, International Business Machines Corporation and
* others. All Rights Reserved.
********************************************************************/
1999-08-16 21:50:52 +00:00
/**
* Normalizer basic tests
*/
#ifndef _TSTNORM
#define _TSTNORM
#ifndef _UTYPES
#include "unicode/utypes.h"
1999-08-16 21:50:52 +00:00
#endif
#ifndef _COLL
#include "unicode/coll.h"
1999-08-16 21:50:52 +00:00
#endif
#ifndef _NORMLZR
#include "unicode/normlzr.h"
1999-08-16 21:50:52 +00:00
#endif
#ifndef _INTLTEST
#include "intltest.h"
#endif
class BasicNormalizerTest : public IntlTest {
public:
BasicNormalizerTest();
virtual ~BasicNormalizerTest();
1999-08-16 21:50:52 +00:00
void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
1999-08-16 21:50:52 +00:00
void TestHangulCompose(void);
void TestHangulDecomp(void);
void TestPrevious(void);
void TestDecomp(void);
void TestCompatDecomp(void);
void TestCanonCompose(void);
void TestCompatCompose(void);
void TestTibetan(void);
void TestCompositionExclusion(void);
void TestZeroIndex(void);
void TestComposedCharIter(void);
void TestVerisign(void);
1999-08-16 21:50:52 +00:00
private:
static UnicodeString canonTests[][3];
static UnicodeString compatTests[][3];
static UnicodeString hangulCanon[][3];
//------------------------------------------------------------------------
// Internal utilities
//
void backAndForth(Normalizer* iter, const UnicodeString& input);
void staticTest(Normalizer::EMode mode, int options,
UnicodeString tests[][3], int length, int outCol);
void iterateTest(Normalizer* iter, UnicodeString tests[][3], int length, int outCol);
void assertEqual(const UnicodeString& input,
const UnicodeString& expected,
Normalizer* result,
const UnicodeString& errPrefix);
static UnicodeString hex(UChar ch);
static UnicodeString hex(const UnicodeString& str);
};
#endif // _TSTNORM