mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-14 17:24:01 +00:00
ICU-9655 make enumset test a real test, not just printfs
X-SVN-Rev: 32936
This commit is contained in:
parent
736010a456
commit
71946b5544
3 changed files with 42 additions and 1 deletions
|
@ -1652,6 +1652,19 @@ UBool IntlTest::assertTrue(const char* message, UBool condition, UBool quiet, UB
|
|||
return condition;
|
||||
}
|
||||
|
||||
UBool IntlTest::assertTrue(const char *file, int line, const char* message, UBool condition, UBool quiet, UBool possibleDataError) {
|
||||
if (!condition) {
|
||||
if (possibleDataError) {
|
||||
dataerrln("%s:%d: FAIL: assertTrue() failed: %s", file, line, message);
|
||||
} else {
|
||||
errln("%s:%d: FAIL: assertTrue() failed: %s", file, line, message);
|
||||
}
|
||||
} else if (!quiet) {
|
||||
logln("%s:%d: Ok: %s", file, line, message);
|
||||
}
|
||||
return condition;
|
||||
}
|
||||
|
||||
UBool IntlTest::assertFalse(const char* message, UBool condition, UBool quiet) {
|
||||
if (condition) {
|
||||
errln("FAIL: assertFalse() failed: %s", message);
|
||||
|
|
|
@ -120,6 +120,9 @@ UnicodeString toString(int32_t n);
|
|||
break; \
|
||||
}
|
||||
|
||||
#define TEST_ASSERT_TRUE(x) \
|
||||
assertTrue(__FILE__, __LINE__, #x, (x), FALSE, FALSE)
|
||||
|
||||
class IntlTest : public TestLog {
|
||||
public:
|
||||
|
||||
|
@ -232,6 +235,7 @@ public:
|
|||
protected:
|
||||
/* JUnit-like assertions. Each returns TRUE if it succeeds. */
|
||||
UBool assertTrue(const char* message, UBool condition, UBool quiet=FALSE, UBool possibleDataError=FALSE);
|
||||
UBool assertTrue(const char *file, int line, const char* message, UBool condition, UBool quiet=FALSE, UBool possibleDataError=FALSE);
|
||||
UBool assertFalse(const char* message, UBool condition, UBool quiet=FALSE);
|
||||
UBool assertSuccess(const char* message, UErrorCode ec, UBool possibleDataError=FALSE);
|
||||
UBool assertEquals(const char* message, const UnicodeString& expected,
|
||||
|
|
|
@ -508,27 +508,51 @@ void EnumSetTest::TestEnumSet() {
|
|||
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);
|
||||
|
||||
TEST_ASSERT_TRUE(flags.get(THING1) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING2) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING3) == FALSE);
|
||||
|
||||
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));
|
||||
TEST_ASSERT_TRUE(flags.get(THING1) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING2) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING3) == FALSE);
|
||||
flags.add(THING1);
|
||||
logln("set THING1 -Value now: %d\n", flags.getAll());
|
||||
TEST_ASSERT_TRUE(flags.get(THING1) == TRUE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING2) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING3) == FALSE);
|
||||
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());
|
||||
TEST_ASSERT_TRUE(flags.get(THING1) == TRUE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING2) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING3) == TRUE);
|
||||
logln("get(thing1)=%d, get(thing2)=%d, get(thing3)=%d\n", flags.get(THING1), flags.get(THING2), flags.get(THING3));
|
||||
flags.remove(THING2);
|
||||
TEST_ASSERT_TRUE(flags.get(THING1) == TRUE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING2) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING3) == TRUE);
|
||||
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);
|
||||
TEST_ASSERT_TRUE(flags.get(THING1) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING2) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING3) == TRUE);
|
||||
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));
|
||||
|
||||
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));
|
||||
TEST_ASSERT_TRUE(flags.get(THING1) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING2) == FALSE);
|
||||
TEST_ASSERT_TRUE(flags.get(THING3) == FALSE);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue