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"));
+}
+
+}