summaryrefslogtreecommitdiff
path: root/include/cppunit/TestFailure.h
blob: f8dae91bf485f83840149abe73ede25724867f75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#ifndef CPPUNIT_TESTFAILURE_H
#define CPPUNIT_TESTFAILURE_H

#include <string>

namespace CppUnit {

  class Test;
  class Exception;


  /**
   * A TestFailure collects a failed test together with
   * the caught exception.
   *
   * TestFailure assumes lifetime control for any exception
   * passed to it.  The lifetime of tests is handled by
   * their TestSuite (if they have been added to one) or
   * whomever creates them.
   * 
   * see TestResult
   * see TestSuite
   *
   */
  class TestFailure 
  {
    public:
      TestFailure (Test *failedTest, Exception *thrownException);
      ~TestFailure ();

      Test*        failedTest ();

      Exception*   thrownException ();

      std::string  toString () const;

    protected:
      Test         *m_failedTest;
      Exception    *m_thrownException;

    private: 
      TestFailure (const TestFailure& other); 
      TestFailure& operator= (const TestFailure& other); 
  };

  /// Gets the failed test.
  inline Test *TestFailure::failedTest ()
  { return m_failedTest; }


  /// Gets the thrown exception.
  inline Exception *TestFailure::thrownException ()
  { return m_thrownException; }

} // namespace CppUnit

#endif // CPPUNIT_TESTFAILURE_H