Mercurial > fife-parpg
diff ext/UnitTest++/src/tests/TestTimeConstraint.cpp @ 37:0d325e9d5953
added unittest++ files into ext. Not hooked into build scripts yet
author | jasoka@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Sat, 12 Jul 2008 12:00:57 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ext/UnitTest++/src/tests/TestTimeConstraint.cpp Sat Jul 12 12:00:57 2008 +0000 @@ -0,0 +1,57 @@ +#include "../UnitTest++.h" +#include "../TestResults.h" +#include "../TimeHelpers.h" +#include "RecordingReporter.h" + +using namespace UnitTest; + +namespace +{ + +TEST(TimeConstraintSucceedsWithFastTest) +{ + TestResults result; + { + TimeConstraint t(200, result, TestDetails("", "", "", 0)); + TimeHelpers::SleepMs(5); + } + CHECK_EQUAL(0, result.GetFailureCount()); +} + +TEST(TimeConstraintFailsWithSlowTest) +{ + TestResults result; + { + TimeConstraint t(10, result, TestDetails("", "", "", 0)); + TimeHelpers::SleepMs(20); + } + CHECK_EQUAL(1, result.GetFailureCount()); +} + +TEST(TimeConstraintFailureIncludesCorrectData) +{ + RecordingReporter reporter; + TestResults result(&reporter); + { + TestDetails const details("testname", "suitename", "filename", 10); + TimeConstraint t(10, result, details); + TimeHelpers::SleepMs(20); + } + CHECK(std::strstr(reporter.lastFailedFile, "filename")); + CHECK_EQUAL(10, reporter.lastFailedLine); + CHECK(std::strstr(reporter.lastFailedTest, "testname")); +} + +TEST(TimeConstraintFailureIncludesTimeoutInformation) +{ + RecordingReporter reporter; + TestResults result(&reporter); + { + TimeConstraint t(10, result, TestDetails("", "", "", 0)); + TimeHelpers::SleepMs(20); + } + CHECK(std::strstr(reporter.lastFailedMessage, "ime constraint")); + CHECK(std::strstr(reporter.lastFailedMessage, "under 10ms")); +} + +}