Ajout de l'ensemble du workspace.
[GPU.git] / WCudaMSE / API_CppTest / SRC / core / collectoroutput.cpp
diff --git a/WCudaMSE/API_CppTest/SRC/core/collectoroutput.cpp b/WCudaMSE/API_CppTest/SRC/core/collectoroutput.cpp
new file mode 100755 (executable)
index 0000000..c473ece
--- /dev/null
@@ -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
+