mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-08 23:10:40 +00:00
ICU-9655 move enumset test
X-SVN-Rev: 32934
This commit is contained in:
parent
53666f0ad7
commit
736010a456
2 changed files with 128 additions and 104 deletions
|
@ -1,6 +1,6 @@
|
|||
/********************************************************************
|
||||
* COPYRIGHT:
|
||||
* Copyright (c) 1997-2011, International Business Machines Corporation and
|
||||
* Copyright (c) 1997-2012, International Business Machines Corporation and
|
||||
* others. All Rights Reserved.
|
||||
********************************************************************/
|
||||
|
||||
|
@ -32,6 +32,7 @@
|
|||
extern IntlTest *createBytesTrieTest();
|
||||
static IntlTest *createLocalPointerTest();
|
||||
extern IntlTest *createUCharsTrieTest();
|
||||
static IntlTest *createEnumSetTest();
|
||||
|
||||
#define CASE(id, test) case id: \
|
||||
name = #test; \
|
||||
|
@ -86,6 +87,14 @@ void IntlTestUtilities::runIndexedTest( int32_t index, UBool exec, const char* &
|
|||
callTest(*test, par);
|
||||
}
|
||||
break;
|
||||
case 19:
|
||||
name = "EnumSetTest";
|
||||
if (exec) {
|
||||
logln("TestSuite EnumSetTest---"); logln();
|
||||
LocalPointer<IntlTest> test(createEnumSetTest());
|
||||
callTest(*test, par);
|
||||
}
|
||||
break;
|
||||
default: name = ""; break; //needed to end loop
|
||||
}
|
||||
}
|
||||
|
@ -466,3 +475,60 @@ void LocalPointerTest::TestLocalXyzPointerNull() {
|
|||
#endif /* !UCONFIG_NO_TRANSLITERATION */
|
||||
|
||||
}
|
||||
|
||||
/** EnumSet test **/
|
||||
#include "unicode/enumset.h"
|
||||
|
||||
class EnumSetTest : public IntlTest {
|
||||
public:
|
||||
EnumSetTest() {}
|
||||
virtual void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par=NULL);
|
||||
void TestEnumSet();
|
||||
};
|
||||
|
||||
static IntlTest *createEnumSetTest() {
|
||||
return new EnumSetTest();
|
||||
}
|
||||
|
||||
void EnumSetTest::runIndexedTest(int32_t index, UBool exec, const char *&name, char * /*par*/) {
|
||||
TESTCASE_AUTO_BEGIN;
|
||||
TESTCASE_AUTO(TestEnumSet);
|
||||
TESTCASE_AUTO_END;
|
||||
}
|
||||
enum myEnum {
|
||||
MAX_NONBOOLEAN=-1,
|
||||
THING1,
|
||||
THING2,
|
||||
THING3,
|
||||
LIMIT_BOOLEAN
|
||||
};
|
||||
|
||||
void EnumSetTest::TestEnumSet() {
|
||||
EnumSet<myEnum,
|
||||
MAX_NONBOOLEAN+1,
|
||||
LIMIT_BOOLEAN>
|
||||
flags;
|
||||
infoln("TODO!! This test doesn't fail on error. Convert printf into error assert.\n");
|
||||
|
||||
logln("Enum is from [%d..%d]\n", MAX_NONBOOLEAN+1,
|
||||
LIMIT_BOOLEAN);
|
||||
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
logln("Value now: %d\n", flags.getAll());
|
||||
flags.clear();
|
||||
logln("clear -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
flags.add(THING1);
|
||||
logln("set THING1 -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
flags.add(THING3);
|
||||
logln("set THING3 -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
flags.remove(THING2);
|
||||
logln("remove THING2 -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
flags.remove(THING1);
|
||||
logln("remove THING1 -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
|
||||
}
|
||||
|
|
|
@ -48,82 +48,77 @@ static const UChar ISO_CURRENCY_USD[] = {0x55, 0x53, 0x44, 0}; // "USD"
|
|||
// class NumberFormatTest
|
||||
// *****************************************************************************
|
||||
|
||||
#define CASE(id,test) case id: name = #test; if (exec) { logln(#test "---"); logln((UnicodeString)""); test(); } break
|
||||
|
||||
#define CHECK(status,str) if (U_FAILURE(status)) { errcheckln(status, UnicodeString("FAIL: ") + str + " - " + u_errorName(status)); return; }
|
||||
#define CHECK_DATA(status,str) if (U_FAILURE(status)) { dataerrln(UnicodeString("FAIL: ") + str + " - " + u_errorName(status)); return; }
|
||||
|
||||
void NumberFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ )
|
||||
{
|
||||
// if (exec) logln((UnicodeString)"TestSuite DateFormatTest");
|
||||
switch (index) {
|
||||
CASE(0,TestCurrencySign);
|
||||
CASE(1,TestCurrency);
|
||||
CASE(2,TestParse);
|
||||
CASE(3,TestRounding487);
|
||||
CASE(4,TestQuotes);
|
||||
CASE(5,TestExponential);
|
||||
CASE(6,TestPatterns);
|
||||
TESTCASE_AUTO_BEGIN;
|
||||
TESTCASE_AUTO(TestCurrencySign);
|
||||
TESTCASE_AUTO(TestCurrency);
|
||||
TESTCASE_AUTO(TestParse);
|
||||
TESTCASE_AUTO(TestRounding487);
|
||||
TESTCASE_AUTO(TestQuotes);
|
||||
TESTCASE_AUTO(TestExponential);
|
||||
TESTCASE_AUTO(TestPatterns);
|
||||
|
||||
// Upgrade to alphaWorks - liu 5/99
|
||||
CASE(7,TestExponent);
|
||||
CASE(8,TestScientific);
|
||||
CASE(9,TestPad);
|
||||
CASE(10,TestPatterns2);
|
||||
CASE(11,TestSecondaryGrouping);
|
||||
CASE(12,TestSurrogateSupport);
|
||||
CASE(13,TestAPI);
|
||||
// Upgrade to alphaWorks - liu 5/99
|
||||
TESTCASE_AUTO(TestExponent);
|
||||
TESTCASE_AUTO(TestScientific);
|
||||
TESTCASE_AUTO(TestPad);
|
||||
TESTCASE_AUTO(TestPatterns2);
|
||||
TESTCASE_AUTO(TestSecondaryGrouping);
|
||||
TESTCASE_AUTO(TestSurrogateSupport);
|
||||
TESTCASE_AUTO(TestAPI);
|
||||
|
||||
CASE(14,TestCurrencyObject);
|
||||
CASE(15,TestCurrencyPatterns);
|
||||
//CASE(16,TestDigitList);
|
||||
CASE(16,TestWhiteSpaceParsing);
|
||||
CASE(17,TestComplexCurrency); // This test removed because CLDR no longer uses choice formats in currency symbols.
|
||||
CASE(18,TestRegCurrency);
|
||||
CASE(19,TestSymbolsWithBadLocale);
|
||||
CASE(20,TestAdoptDecimalFormatSymbols);
|
||||
TESTCASE_AUTO(TestCurrencyObject);
|
||||
TESTCASE_AUTO(TestCurrencyPatterns);
|
||||
//TESTCASE_AUTO(TestDigitList);
|
||||
TESTCASE_AUTO(TestWhiteSpaceParsing);
|
||||
TESTCASE_AUTO(TestComplexCurrency); // This test removed because CLDR no longer uses choice formats in currency symbols.
|
||||
TESTCASE_AUTO(TestRegCurrency);
|
||||
TESTCASE_AUTO(TestSymbolsWithBadLocale);
|
||||
TESTCASE_AUTO(TestAdoptDecimalFormatSymbols);
|
||||
|
||||
CASE(21,TestScientific2);
|
||||
CASE(22,TestScientificGrouping);
|
||||
CASE(23,TestInt64);
|
||||
TESTCASE_AUTO(TestScientific2);
|
||||
TESTCASE_AUTO(TestScientificGrouping);
|
||||
TESTCASE_AUTO(TestInt64);
|
||||
|
||||
CASE(24,TestPerMill);
|
||||
CASE(25,TestIllegalPatterns);
|
||||
CASE(26,TestCases);
|
||||
TESTCASE_AUTO(TestPerMill);
|
||||
TESTCASE_AUTO(TestIllegalPatterns);
|
||||
TESTCASE_AUTO(TestCases);
|
||||
|
||||
CASE(27,TestCurrencyNames);
|
||||
CASE(28,TestCurrencyAmount);
|
||||
CASE(29,TestCurrencyUnit);
|
||||
CASE(30,TestCoverage);
|
||||
CASE(31,TestJB3832);
|
||||
CASE(32,TestHost);
|
||||
CASE(33,TestHostClone);
|
||||
CASE(34,TestCurrencyFormat);
|
||||
CASE(35,TestRounding);
|
||||
CASE(36,TestNonpositiveMultiplier);
|
||||
CASE(37,TestNumberingSystems);
|
||||
CASE(38,TestSpaceParsing);
|
||||
CASE(39,TestMultiCurrencySign);
|
||||
CASE(40,TestCurrencyFormatForMixParsing);
|
||||
CASE(41,TestDecimalFormatCurrencyParse);
|
||||
CASE(42,TestCurrencyIsoPluralFormat);
|
||||
CASE(43,TestCurrencyParsing);
|
||||
CASE(44,TestParseCurrencyInUCurr);
|
||||
CASE(45,TestFormatAttributes);
|
||||
CASE(46,TestFieldPositionIterator);
|
||||
CASE(47,TestDecimal);
|
||||
CASE(48,TestCurrencyFractionDigits);
|
||||
CASE(49,TestExponentParse);
|
||||
CASE(50,TestExplicitParents);
|
||||
CASE(51,TestLenientParse);
|
||||
CASE(52,TestAvailableNumberingSystems);
|
||||
CASE(53,TestRoundingPattern);
|
||||
CASE(54,Test9087);
|
||||
CASE(55,TestFormatFastpaths);
|
||||
CASE(56,TestEnumSet);
|
||||
CASE(57,TestFormattableSize);
|
||||
default: name = ""; break;
|
||||
}
|
||||
TESTCASE_AUTO(TestCurrencyNames);
|
||||
TESTCASE_AUTO(TestCurrencyAmount);
|
||||
TESTCASE_AUTO(TestCurrencyUnit);
|
||||
TESTCASE_AUTO(TestCoverage);
|
||||
TESTCASE_AUTO(TestJB3832);
|
||||
TESTCASE_AUTO(TestHost);
|
||||
TESTCASE_AUTO(TestHostClone);
|
||||
TESTCASE_AUTO(TestCurrencyFormat);
|
||||
TESTCASE_AUTO(TestRounding);
|
||||
TESTCASE_AUTO(TestNonpositiveMultiplier);
|
||||
TESTCASE_AUTO(TestNumberingSystems);
|
||||
TESTCASE_AUTO(TestSpaceParsing);
|
||||
TESTCASE_AUTO(TestMultiCurrencySign);
|
||||
TESTCASE_AUTO(TestCurrencyFormatForMixParsing);
|
||||
TESTCASE_AUTO(TestDecimalFormatCurrencyParse);
|
||||
TESTCASE_AUTO(TestCurrencyIsoPluralFormat);
|
||||
TESTCASE_AUTO(TestCurrencyParsing);
|
||||
TESTCASE_AUTO(TestParseCurrencyInUCurr);
|
||||
TESTCASE_AUTO(TestFormatAttributes);
|
||||
TESTCASE_AUTO(TestFieldPositionIterator);
|
||||
TESTCASE_AUTO(TestDecimal);
|
||||
TESTCASE_AUTO(TestCurrencyFractionDigits);
|
||||
TESTCASE_AUTO(TestExponentParse);
|
||||
TESTCASE_AUTO(TestExplicitParents);
|
||||
TESTCASE_AUTO(TestLenientParse);
|
||||
TESTCASE_AUTO(TestAvailableNumberingSystems);
|
||||
TESTCASE_AUTO(TestRoundingPattern);
|
||||
TESTCASE_AUTO(Test9087);
|
||||
TESTCASE_AUTO(TestFormatFastpaths);
|
||||
TESTCASE_AUTO(TestFormattableSize);
|
||||
TESTCASE_AUTO_END;
|
||||
}
|
||||
|
||||
// -------------------------------------
|
||||
|
@ -6685,43 +6680,6 @@ void NumberFormatTest::TestFormatFastpaths() {
|
|||
}
|
||||
}
|
||||
|
||||
enum myEnum {
|
||||
MAX_NONBOOLEAN=-1,
|
||||
THING1,
|
||||
THING2,
|
||||
THING3,
|
||||
LIMIT_BOOLEAN
|
||||
};
|
||||
|
||||
void NumberFormatTest::TestEnumSet(void) {
|
||||
EnumSet<myEnum,
|
||||
MAX_NONBOOLEAN+1,
|
||||
LIMIT_BOOLEAN>
|
||||
flags;
|
||||
infoln("TODO!! This test doesn't fail on error. Convert printf into error assert.\n");
|
||||
|
||||
logln("Enum is from [%d..%d]\n", MAX_NONBOOLEAN+1,
|
||||
LIMIT_BOOLEAN);
|
||||
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
logln("Value now: %d\n", flags.getAll());
|
||||
flags.clear();
|
||||
logln("clear -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
flags.add(THING1);
|
||||
logln("set THING1 -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
flags.add(THING3);
|
||||
logln("set THING3 -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
flags.remove(THING2);
|
||||
logln("remove THING2 -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
flags.remove(THING1);
|
||||
logln("remove THING1 -Value now: %d\n", flags.getAll());
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
|
||||
}
|
||||
|
||||
void NumberFormatTest::TestFormattableSize(void) {
|
||||
if(sizeof(FmtStackData) > UNUM_INTERNAL_STACKARRAY_SIZE) {
|
||||
|
|
Loading…
Add table
Reference in a new issue