3 // $Id: collectoroutput.cpp,v 1.4 2008/07/15 20:33:31 hartwork Exp $
5 // CppTest - A C++ Unit Testing Framework
6 // Copyright (c) 2003 Niklas Lundell
10 // This library is free software; you can redistribute it and/or
11 // modify it under the terms of the GNU Lesser General Public
12 // License as published by the Free Software Foundation; either
13 // version 2 of the License, or (at your option) any later version.
15 // This library is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 // Lesser General Public License for more details.
20 // You should have received a copy of the GNU Lesser General Public
21 // License along with this library; if not, write to the
22 // Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23 // Boston, MA 02111-1307, USA.
28 #if (defined(__WIN32__) || defined(WIN32))
29 # include "winconfig.h"
35 #include "cpptest-collectoroutput.h"
41 CollectorOutput::TestInfo::TestInfo(const string name
)
45 CollectorOutput::SuiteInfo::SuiteInfo(const string
& name
, int tests
)
49 _tests
.reserve(tests
);
52 /// Constructs a collector object.
54 CollectorOutput::CollectorOutput()
60 CollectorOutput::finished(int tests
, const Time
& time
)
67 CollectorOutput::suite_start(int tests
, const string
& name
)
71 _suites
.push_back(SuiteInfo(name
, tests
));
72 _cur_suite
= &_suites
.back();
77 CollectorOutput::suite_end(int tests
, const string
&, const Time
& time
)
81 _cur_suite
->_time
= time
;
82 _total_errors
+= _cur_suite
->_errors
;
87 CollectorOutput::test_start(const string
& name
)
89 _cur_suite
->_tests
.push_back(TestInfo(name
));
90 _cur_test
= &_cur_suite
->_tests
.back();
94 CollectorOutput::test_end(const string
&, bool ok
, const Time
& time
)
96 if (!(_cur_test
->_success
= ok
))
97 ++_cur_suite
->_errors
;
98 _cur_test
->_time
= time
;
103 CollectorOutput::assertment(const Source
& s
)
105 _cur_test
->_sources
.push_back(s
);