| Index: icu46/source/test/intltest/usettest.h
|
| ===================================================================
|
| --- icu46/source/test/intltest/usettest.h (revision 0)
|
| +++ icu46/source/test/intltest/usettest.h (revision 0)
|
| @@ -0,0 +1,190 @@
|
| +
|
| +/********************************************************************
|
| + * COPYRIGHT:
|
| + * Copyright (c) 1997-2007, International Business Machines Corporation and
|
| + * others. All Rights Reserved.
|
| + ********************************************************************
|
| +**********************************************************************
|
| +* Date Name Description
|
| +* 10/20/99 alan Creation.
|
| +* 03/22/2000 Madhu Added additional tests
|
| +**********************************************************************
|
| +*/
|
| +
|
| +#ifndef _TESTUNISET
|
| +#define _TESTUNISET
|
| +
|
| +#include "unicode/unistr.h"
|
| +#include "unicode/uniset.h"
|
| +#include "unicode/ucnv_err.h"
|
| +#include "intltest.h"
|
| +
|
| +class UnicodeSetWithStrings;
|
| +
|
| +/**
|
| + * UnicodeSet test
|
| + */
|
| +class UnicodeSetTest: public IntlTest {
|
| +public:
|
| + UnicodeSetTest();
|
| + ~UnicodeSetTest();
|
| +
|
| +private:
|
| + void runIndexedTest(int32_t index, UBool exec, const char* &name, char* par=NULL);
|
| +
|
| + void Testj2268();
|
| +
|
| + /**
|
| + * Test that toPattern() round trips with syntax characters and
|
| + * whitespace.
|
| + */
|
| + void TestToPattern();
|
| +
|
| + void TestPatterns(void);
|
| + void TestCategories(void);
|
| + void TestAddRemove(void);
|
| + void TestCloneEqualHash(void);
|
| +
|
| + /**
|
| + * Make sure minimal representation is maintained.
|
| + */
|
| + void TestMinimalRep(void);
|
| +
|
| + void TestAPI(void);
|
| +
|
| + void TestIteration(void);
|
| +
|
| + void TestStrings(void);
|
| +
|
| + void TestScriptSet(void);
|
| +
|
| + /**
|
| + * Test the [:Latin:] syntax.
|
| + */
|
| + void TestPropertySet(void);
|
| +
|
| + void TestClone(void);
|
| +
|
| + void TestIndexOf(void);
|
| +
|
| + void TestExhaustive(void);
|
| +
|
| + void TestCloseOver(void);
|
| +
|
| + void TestEscapePattern(void);
|
| +
|
| + void TestInvalidCodePoint(void);
|
| +
|
| + void TestSymbolTable(void);
|
| +
|
| + void TestSurrogate();
|
| +
|
| + void TestPosixClasses();
|
| +
|
| + void TestFreezable();
|
| +
|
| + void TestSpan();
|
| +
|
| + void TestStringSpan();
|
| +
|
| +private:
|
| +
|
| + UBool toPatternAux(UChar32 start, UChar32 end);
|
| +
|
| + UBool checkPat(const UnicodeString& source,
|
| + const UnicodeSet& testSet);
|
| +
|
| + UBool checkPat(const UnicodeString& source, const UnicodeSet& testSet, const UnicodeString& pat);
|
| +
|
| + void _testComplement(int32_t a, UnicodeSet&, UnicodeSet&);
|
| +
|
| + void _testAdd(int32_t a, int32_t b, UnicodeSet&, UnicodeSet&, UnicodeSet&);
|
| +
|
| + void _testRetain(int32_t a, int32_t b, UnicodeSet&, UnicodeSet&, UnicodeSet&);
|
| +
|
| + void _testRemove(int32_t a, int32_t b, UnicodeSet&, UnicodeSet&, UnicodeSet&);
|
| +
|
| + void _testXor(int32_t a, int32_t b, UnicodeSet&, UnicodeSet&, UnicodeSet&);
|
| +
|
| + /**
|
| + * Check that ranges are monotonically increasing and non-
|
| + * overlapping.
|
| + */
|
| + void checkCanonicalRep(const UnicodeSet& set, const UnicodeString& msg);
|
| +
|
| + /**
|
| + * Convert a bitmask to a UnicodeSet.
|
| + */
|
| + static UnicodeSet& bitsToSet(int32_t a, UnicodeSet&);
|
| +
|
| + /**
|
| + * Convert a UnicodeSet to a bitmask. Only the characters
|
| + * U+0000 to U+0020 are represented in the bitmask.
|
| + */
|
| + static int32_t setToBits(const UnicodeSet& x);
|
| +
|
| + /**
|
| + * Return the representation of an inversion list based UnicodeSet
|
| + * as a pairs list. Ranges are listed in ascending Unicode order.
|
| + * For example, the set [a-zA-M3] is represented as "33AMaz".
|
| + */
|
| + static UnicodeString getPairs(const UnicodeSet& set);
|
| +
|
| + /**
|
| + * Basic consistency check for a few items.
|
| + * That the iterator works, and that we can create a pattern and
|
| + * get the same thing back
|
| + */
|
| + void checkRoundTrip(const UnicodeSet& s);
|
| +
|
| + void copyWithIterator(UnicodeSet& t, const UnicodeSet& s, UBool withRange);
|
| +
|
| + UBool checkEqual(const UnicodeSet& s, const UnicodeSet& t, const char* message);
|
| +
|
| + void expectContainment(const UnicodeString& pat,
|
| + const UnicodeString& charsIn,
|
| + const UnicodeString& charsOut);
|
| + void expectContainment(const UnicodeSet& set,
|
| + const UnicodeString& charsIn,
|
| + const UnicodeString& charsOut);
|
| + void expectContainment(const UnicodeSet& set,
|
| + const UnicodeString& setName,
|
| + const UnicodeString& charsIn,
|
| + const UnicodeString& charsOut);
|
| + void expectPattern(UnicodeSet& set,
|
| + const UnicodeString& pattern,
|
| + const UnicodeString& expectedPairs);
|
| + void expectPairs(const UnicodeSet& set,
|
| + const UnicodeString& expectedPairs);
|
| + void expectToPattern(const UnicodeSet& set,
|
| + const UnicodeString& expPat,
|
| + const char** expStrings);
|
| + void expectRange(const UnicodeString& label,
|
| + const UnicodeSet& set,
|
| + UChar32 start, UChar32 end);
|
| + void doAssert(UBool, const char*);
|
| +
|
| + void testSpan(const UnicodeSetWithStrings *sets[4], const void *s, int32_t length, UBool isUTF16,
|
| + uint32_t whichSpans,
|
| + int32_t expectLimits[], int32_t &expectCount,
|
| + const char *testName, int32_t index);
|
| + void testSpan(const UnicodeSetWithStrings *sets[4], const void *s, int32_t length, UBool isUTF16,
|
| + uint32_t whichSpans,
|
| + const char *testName, int32_t index);
|
| + void testSpanBothUTFs(const UnicodeSetWithStrings *sets[4],
|
| + const UChar *s16, int32_t length16,
|
| + uint32_t whichSpans,
|
| + const char *testName, int32_t index);
|
| + void testSpanContents(const UnicodeSetWithStrings *sets[4], uint32_t whichSpans, const char *testName);
|
| + void testSpanUTF16String(const UnicodeSetWithStrings *sets[4], uint32_t whichSpans, const char *testName);
|
| + void testSpanUTF8String(const UnicodeSetWithStrings *sets[4], uint32_t whichSpans, const char *testName);
|
| +
|
| + UConverter *openUTF8Converter();
|
| +
|
| + UConverter *utf8Cnv;
|
| +
|
| +public:
|
| + static UnicodeString escape(const UnicodeString& s);
|
| +};
|
| +
|
| +#endif
|
|
|
| Property changes on: icu46/source/test/intltest/usettest.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|