summaryrefslogtreecommitdiff
path: root/cppunit/TestRegistry.cpp
diff options
context:
space:
mode:
authorEric Sommerlade <eric@sommerla.de>2000-10-05 17:37:29 +0000
committerEric Sommerlade <eric@sommerla.de>2000-10-05 17:37:29 +0000
commitc7623ebd7f73cbefd977cd97794a6b846de14205 (patch)
treec902c3e55457983c145d46222144b9d8284e66e8 /cppunit/TestRegistry.cpp
downloadcppunit-c7623ebd7f73cbefd977cd97794a6b846de14205.tar.gz
Initial check in.
Diffstat (limited to 'cppunit/TestRegistry.cpp')
-rw-r--r--cppunit/TestRegistry.cpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/cppunit/TestRegistry.cpp b/cppunit/TestRegistry.cpp
new file mode 100644
index 0000000..7c570db
--- /dev/null
+++ b/cppunit/TestRegistry.cpp
@@ -0,0 +1,70 @@
+#include "TestRegistry.h"
+#include "Test.h"
+
+using namespace std;
+using namespace CppUnit;
+
+std::vector<std::string> s_registry_names;
+std::vector<Test*> s_registry_tests;
+
+static TestRegistry* s_registry;
+static bool instanciated=false;
+
+TestRegistry&
+TestRegistry::getRegistry ()
+{
+ if(!instanciated)
+ s_registry=new TestRegistry();
+ return *s_registry;
+}
+
+void
+TestRegistry::addTest(string name, Test *test)
+{
+ s_registry_names.push_back (name);
+ s_registry_tests.push_back (test);
+}
+
+const vector<string>&
+TestRegistry::getAllTestNames () const
+{
+ return(s_registry_names);
+}
+
+const vector<Test*>&
+TestRegistry::getAllTests() const
+{
+ return(s_registry_tests);
+}
+
+vector<Test*>
+TestRegistry::getTest (const string& testCase) const
+{
+ vector<Test*> res;
+ vector<Test*>::iterator test_it;
+ vector<string>::iterator name_it;
+ for (test_it = s_registry_tests.begin (),
+ name_it = s_registry_names.begin ();
+ test_it != s_registry_tests.end ();
+ ++test_it, ++name_it) {
+ if ((*name_it) == testCase) {
+ res.push_back((*test_it));
+ break;
+ }
+ }
+ return(res);
+}
+
+TestRegistry::~TestRegistry ()
+{
+ for (vector<Test*>::iterator it = s_registry_tests.begin ();
+ it != s_registry_tests.end ();
+ ++it)
+ delete *it;
+}
+
+TestRegistry::TestRegistry ()
+{
+}
+
+