#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& TestRegistry::getAllTestNames () const { return getRegistry().m_registry_names; } const std::vector& TestRegistry::getAllTests() const { return getRegistry().m_registry_tests; } std::vector TestRegistry::getTest (const std::string& testCase) const { std::vector res; std::vector::iterator test_it; std::vector::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::iterator it = m_registry_tests.begin (); it != m_registry_tests.end (); ++it) { delete *it; } } TestRegistry::TestRegistry () { } } // namespace CppUnit