Removed the commented leftovers from the changes.
[amule.git] / unittests / muleunit / testcase.cpp
blob9f4b0387222dd91ebcadcccefc8d8ec09fd0e1e1
1 //
2 // MuleUnit: A minimalistic C++ Unit testing framework based on EasyUnit.
3 //
4 // Copyright (c) 2005-2011 aMule Team ( admin@amule.org / http://www.amule.org )
5 // Copyright (c) 2004-2011 Barthelemy Dagenais ( barthelemy@prologique.com )
6 //
7 // This library is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU Lesser General Public
9 // License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 // Lesser General Public License for more details.
17 // You should have received a copy of the GNU Lesser General Public
18 // License along with this library; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 #include "testcase.h"
24 #include "test.h"
26 #include <exception>
28 using namespace muleunit;
30 TestCase::TestCase(const wxString& name)
31 : m_name(name)
34 TestCase::~TestCase()
38 void TestCase::addTest(Test *test)
40 m_tests.push_back(test);
43 const TestList& TestCase::getTests() const
45 return m_tests;
48 int TestCase::getTestsCount() const
50 return m_tests.size();
54 const wxString& TestCase::getName() const
56 return m_name;
61 bool TestCase::run()
63 Print(wxT("\nRunning test-collection \"") + m_name + wxString::Format(wxT("\" with %u test-cases:"), static_cast<unsigned int>(m_tests.size())));
65 bool failures = false;
67 TestList::iterator it = m_tests.begin();
68 for (; it != m_tests.end(); ++it) {
69 Test* test = *it;
71 Print(wxT("\tTest \"") + test->getTestName() + wxT("\" "));
73 bool wasSetup = false;
74 try {
75 test->setUp();
76 wasSetup = true;
77 } catch (const CTestFailureException& e) {
78 failures = true;
79 Print(wxT("\t\tFailure in setUp:\n"));
80 e.PrintBT();
83 // Only run the test if it was actually setup. Otherwise we
84 // are sure to get spurious failures.
85 if (wasSetup) {
86 try {
87 test->run();
88 } catch (const CTestFailureException& e) {
89 failures = true;
90 Print(wxT("\t\tFailure running:"));
91 e.PrintBT();
95 try {
96 test->tearDown();
97 } catch (const CTestFailureException& e) {
98 failures = true;
99 Print(wxT("\t\tFailure in tearDown:"));
100 e.PrintBT();
104 return !failures;