Menu

[r131]: / trunk / cppunit / src / cppunit / TestRegistry.cpp  Maximize  Restore  History

Download this file

66 lines (55 with data), 1.4 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <cppunit/Portability.h>
#include "cppunit/TestRegistry.h"
#include "cppunit/Test.h"
namespace CppUnit {
TestRegistry&
TestRegistry::getRegistry ()
{
static TestRegistry registry; // instantiated on first call of getRegistry().
return 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
MongoDB Logo MongoDB