2 // MuleUnit: A minimalistic C++ Unit testing framework based on EasyUnit.
4 // Copyright (c) 2005-2011 aMule Team ( admin@amule.org / http://www.amule.org )
5 // Copyright (c) 2004-2011 Barthelemy Dagenais ( barthelemy@prologique.com )
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
28 using namespace muleunit
;
30 TestCase::TestCase(const wxString
& name
)
38 void TestCase::addTest(Test
*test
)
40 m_tests
.push_back(test
);
43 const TestList
& TestCase::getTests() const
48 int TestCase::getTestsCount() const
50 return m_tests
.size();
54 const wxString
& TestCase::getName() const
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
) {
71 Print(wxT("\tTest \"") + test
->getTestName() + wxT("\" "));
73 bool wasSetup
= false;
77 } catch (const CTestFailureException
& e
) {
79 Print(wxT("\t\tFailure in setUp:\n"));
83 // Only run the test if it was actually setup. Otherwise we
84 // are sure to get spurious failures.
88 } catch (const CTestFailureException
& e
) {
90 Print(wxT("\t\tFailure running:"));
97 } catch (const CTestFailureException
& e
) {
99 Print(wxT("\t\tFailure in tearDown:"));