X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;f=WCudaMSE%2FAPI_CppTest%2FSRC%2Fcore%2Fcpptest-textoutput.h;fp=WCudaMSE%2FAPI_CppTest%2FSRC%2Fcore%2Fcpptest-textoutput.h;h=45ed9f2fc050b818e805cdb534979caf1a957684;hb=8d08c12b29c2a14684f35c023ee39e694bb80d25;hp=0000000000000000000000000000000000000000;hpb=226de81f7e1f1fbf4ac79d0d089e8a05ec7159a0;p=GPU.git diff --git a/WCudaMSE/API_CppTest/SRC/core/cpptest-textoutput.h b/WCudaMSE/API_CppTest/SRC/core/cpptest-textoutput.h new file mode 100755 index 0000000..45ed9f2 --- /dev/null +++ b/WCudaMSE/API_CppTest/SRC/core/cpptest-textoutput.h @@ -0,0 +1,88 @@ +// --- +// +// $Id: cpptest-textoutput.h,v 1.3 2005/06/08 08:08:06 nilu 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. +// +// --- + +/** \file */ + +#ifndef CPPTEST_TEXTOUTPUT_H +#define CPPTEST_TEXTOUTPUT_H + +#include +#include + +#include "cpptest-source.h" +#include "cpptest-output.h" + +namespace Test +{ + /// \brief Text output handler that outputs to the a stream. + /// + /// %Test suite output handler that writes its information as text to a + /// a stream. It it possible to select between two different operational + /// modes that controls the detail level, see Mode. + /// + class TextOutput : public Output + { + public: + /// Output mode. + /// + enum Mode + { + /// Terse output mode, which only shows the number of correct tests. + /// + Terse, + + /// Verbose output mode, which also shows extended assert + /// information for each test that failed. + /// + Verbose + }; + + TextOutput(Mode mode, std::ostream& stream = std::cout); + + virtual void finished(int tests, const Time& time); + virtual void suite_start(int tests, const std::string& name); + virtual void suite_end(int tests, const std::string& name, + const Time& time); + virtual void test_end(const std::string& name, bool ok, + const Time& time); + virtual void assertment(const Source& s); + + private: + typedef std::list ErrorList; + + Mode _mode; + std::ostream& _stream; + ErrorList _suite_error_list; + std::string _suite_name; + int _suite_errors; + int _suite_tests; + int _suite_total_tests; + int _total_errors; + }; + +} // namespace Test + +#endif // #ifndef CPPTEST_TEXTOUTPUT_H