blitzdg
an open-source project aiming to implement parallel discontinuous Galerkin (dg) solvers for common partial differential equations systems using blitz++ for array and tensor manipulations and MPI for distributed parallelism.
testresults.h
1 
2 // Copyright Joakim Karlsson & Kim Gräsman 2010-2013.
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6 
7 #ifndef IGLOO_TESTRESULTS_H
8 #define IGLOO_TESTRESULTS_H
9 
10 namespace igloo {
11 
12  class TestResults
13  {
14  public:
15 
16  int NumberOfTestsRun() const
17  {
18  return NumberOfSucceededTests() + NumberOfFailedTests();
19  }
20 
21  int NumberOfSucceededTests() const
22  {
23  return succeededTests_.size();
24  }
25 
26  int NumberOfFailedTests() const
27  {
28  return failedTests_.size();
29  }
30 
31  void AddResult(const SucceededTestResult result)
32  {
33  succeededTests_.push_back(result);
34  }
35 
36  void AddResult(const FailedTestResult result)
37  {
38  failedTests_.push_back(result);
39  }
40 
41  typedef std::list<FailedTestResult> FailedTestsType;
42  typedef std::list<SucceededTestResult> SucceededTestsType;
43 
44  const FailedTestsType& FailedTests() const
45  {
46  return failedTests_;
47  }
48 
49  const SucceededTestsType& SucceededTests() const
50  {
51  return succeededTests_;
52  }
53 
54  friend std::ostream& operator<<(std::ostream& stm, const TestResults& results);
55 
56  private:
57  std::list<FailedTestResult> failedTests_;
58  std::list<SucceededTestResult> succeededTests_;
59  };
60 
61 
62  inline std::ostream& operator<<(std::ostream& stm, const TestResults& results)
63  {
64  stm << "[ ";
65  TestResults::FailedTestsType::const_iterator it;
66  for(it = results.FailedTests().begin(); it != results.FailedTests().end(); it++)
67  {
68  stm << "< " << *it << " >";
69  }
70 
71  TestResults::SucceededTestsType::const_iterator it2;
72  for(it2 = results.SucceededTests().begin(); it2 != results.SucceededTests().end(); it2++)
73  {
74  stm << "< " << *it2 << " >";
75  }
76 
77  stm << " ]";
78 
79  return stm;
80  }
81 }
82 
83 #endif
Definition: testresult.h:52
Definition: context.h:13
Definition: testresult.h:12
Definition: testresults.h:12