00001 #ifndef TESTBENCH_H
00002 #define TESTBENCH_H
00003
00004 #include <QtTest/QtTest>
00005 #include <QtPlugin>
00006
00007 #include <memory>
00008
00017 class TestInterface : public QObject
00018 {
00019 public:
00020
00021 virtual ~TestInterface() {}
00022
00027 virtual QString name() const = 0;
00028 };
00029
00030 Q_DECLARE_INTERFACE(TestInterface, "net.sourceforge.moptaskmanager.test/1.0");
00031
00042 #define TEST_COPY(C) TEST_COPY_INIT(C, (void))
00043
00055 #define TEST_COPY_INIT(C, init) \
00056 do \
00057 { \
00058 std::auto_ptr<C> orig(new C()); \
00059 init(orig.get()); \
00060 C copy_ctor(*orig); \
00061 C copy_assign; \
00062 copy_assign = *orig; \
00063 QVERIFY(*orig == copy_ctor); \
00064 QVERIFY(*orig == copy_assign); \
00065 delete orig.release(); \
00066 QVERIFY(copy_assign == copy_ctor); \
00067 } \
00068 while (false)
00069
00075 #define EXPECT_EXCEPTION(expression) \
00076 do \
00077 { \
00078 bool gotIt = false; \
00079 try {expression;} \
00080 catch(...) {gotIt = true;} \
00081 if (!gotIt) \
00082 QFAIL("Expected an exception while executing "#expression); \
00083 } \
00084 while (false)
00085
00086 #endif
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106