summaryrefslogtreecommitdiff
path: root/src/cppunit/TestRegistry.cpp
diff options
context:
space:
mode:
authorBastiaan Bakker <bastiaan.bakker@lifeline.nl>2001-04-28 17:23:32 +0000
committerBastiaan Bakker <bastiaan.bakker@lifeline.nl>2001-04-28 17:23:32 +0000
commit6d95c46d9dc342bea176c8fbcd101db8eba24bef (patch)
tree3a42ea08625f64972f520cbeda2da3c68bbe9692 /src/cppunit/TestRegistry.cpp
parent7e4ccacdbcf2f78005447f16e49d339d2a70e9ca (diff)
downloadcppunit-6d95c46d9dc342bea176c8fbcd101db8eba24bef.tar.gz
Moved files in subdir cppunit to src/cppunit.
Diffstat (limited to 'src/cppunit/TestRegistry.cpp')
-rw-r--r--src/cppunit/TestRegistry.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/cppunit/TestRegistry.cpp b/src/cppunit/TestRegistry.cpp
new file mode 100644
index 0000000..f4eaf74
--- /dev/null
+++ b/src/cppunit/TestRegistry.cpp
@@ -0,0 +1,69 @@
+#include "cppunit/TestRegistry.h"
+#include "cppunit/Test.h"
+
+namespace CppUnit {
+
+TestRegistry*
+TestRegistry::s_registry = NULL;
+
+TestRegistry&
+TestRegistry::getRegistry ()
+{
+ if (NULL == s_registry) {
+ s_registry = new TestRegistry();
+ }
+ return *s_registry;
+}
+
+void
+TestRegistry::addTest(std::string name, Test *test)
+{
+ getRegistry().m_registry_names.push_back (name);
+ getRegistry().m_registry_tests.push_back (test);
+}
+
+const std::vector<std::string>&
+TestRegistry::getAllTestNames () const
+{
+ return getRegistry().m_registry_names;
+}
+
+const std::vector<Test*>&
+TestRegistry::getAllTests() const
+{
+ return getRegistry().m_registry_tests;
+}
+
+std::vector<Test*>
+TestRegistry::getTest (const std::string& testCase) const
+{
+ std::vector<Test*> res;
+ std::vector<Test*>::iterator test_it;
+ std::vector<std::string>::iterator name_it;
+ for (test_it = getRegistry().m_registry_tests.begin (),
+ name_it = getRegistry().m_registry_names.begin ();
+ test_it != getRegistry().m_registry_tests.end ();
+ ++test_it, ++name_it) {
+ if ((*name_it) == testCase) {
+ res.push_back((*test_it));
+ break;
+ }
+ }
+ return(res);
+}
+
+TestRegistry::~TestRegistry ()
+{
+ for (std::vector<Test*>::iterator it = m_registry_tests.begin ();
+ it != m_registry_tests.end ();
+ ++it) {
+ delete *it;
+ }
+}
+
+TestRegistry::TestRegistry ()
+{
+}
+
+} // namespace CppUnit
+