X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;f=WCudaMSE%2FAPI_CppTest%2FSRC%2Fcore%2Fcollectoroutput.cpp;fp=WCudaMSE%2FAPI_CppTest%2FSRC%2Fcore%2Fcollectoroutput.cpp;h=c473eceab46ecac0bbb98883ff0e7213d4394df0;hb=8d08c12b29c2a14684f35c023ee39e694bb80d25;hp=0000000000000000000000000000000000000000;hpb=226de81f7e1f1fbf4ac79d0d089e8a05ec7159a0;p=GPU.git diff --git a/WCudaMSE/API_CppTest/SRC/core/collectoroutput.cpp b/WCudaMSE/API_CppTest/SRC/core/collectoroutput.cpp new file mode 100755 index 0000000..c473ece --- /dev/null +++ b/WCudaMSE/API_CppTest/SRC/core/collectoroutput.cpp @@ -0,0 +1,110 @@ +// --- +// +// $Id: collectoroutput.cpp,v 1.4 2008/07/15 20:33:31 hartwork Exp $ +// +// CppTest - A C++ Unit Testing Framework +// Copyright (c) 2003 Niklas Lundell +// +// --- +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the +// Free Software Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. +// +// --- + + +#if (defined(__WIN32__) || defined(WIN32)) +# include "winconfig.h" +#else +# include "config.h" +#endif + + +#include "cpptest-collectoroutput.h" + +using namespace std; + +namespace Test +{ + CollectorOutput::TestInfo::TestInfo(const string name) + : _name(name) + {} + + CollectorOutput::SuiteInfo::SuiteInfo(const string& name, int tests) + : _name(name), + _errors(0) + { + _tests.reserve(tests); + } + + /// Constructs a collector object. + /// + CollectorOutput::CollectorOutput() + : Output(), + _total_errors(0) + {} + + void + CollectorOutput::finished(int tests, const Time& time) + { + _total_tests = tests; + _total_time = time; + } + + void + CollectorOutput::suite_start(int tests, const string& name) + { + if (tests > 0) + { + _suites.push_back(SuiteInfo(name, tests)); + _cur_suite = &_suites.back(); + } + } + + void + CollectorOutput::suite_end(int tests, const string&, const Time& time) + { + if (tests > 0) + { + _cur_suite->_time = time; + _total_errors += _cur_suite->_errors; + } + } + + void + CollectorOutput::test_start(const string& name) + { + _cur_suite->_tests.push_back(TestInfo(name)); + _cur_test = &_cur_suite->_tests.back(); + } + + void + CollectorOutput::test_end(const string&, bool ok, const Time& time) + { + if (!(_cur_test->_success = ok)) + ++_cur_suite->_errors; + _cur_test->_time = time; + + } + + void + CollectorOutput::assertment(const Source& s) + { + _cur_test->_sources.push_back(s); + + } + +} // namespace Test +