qcpix/tsrc/qttestutil/testregistry.h
changeset 15 cf5c74390b98
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qcpix/tsrc/qttestutil/testregistry.h	Wed Aug 18 10:53:26 2010 +0300
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2008  Remko Troncon
+ * Licensed under the MIT license.
+ * See COPYING for license details.
+ */
+
+#ifndef QtTestUtil_TestRegistry_H
+#define QtTestUtil_TestRegistry_H
+
+#include <QList>
+
+class QObject;
+
+namespace QtTestUtil {
+    
+    /**
+     * A registry of QtTest test classes.
+     * All test classes registered with QTTESTUTIL_REGISTER_TEST add 
+     * themselves to this registry. All registered tests can then be run at 
+     * once using runTests().
+     */
+    class TestRegistry {
+        public:
+            /**
+             * Retrieve the single instance of the registry.
+             */
+            static TestRegistry* getInstance();
+
+            /**
+             * Register a QtTest test. 
+             * This method is called  by QTTESTUTIL_REGISTER_TEST, and you should 
+             * not use this method directly.
+             */
+            void registerTest(QObject*);
+
+            /**
+             * Run all registered tests using QTest::qExec()
+             */
+            int runTests(int argc, char* argv[]);
+
+        private:
+            TestRegistry() {}
+        
+        private:
+            QList<QObject*> tests_;
+    };
+}
+
+#endif