1 | #ifndef BANDIT_LISTENER_H |
2 | #define BANDIT_LISTENER_H |
3 | |
4 | #include <memory> |
5 | #include <bandit/assertion_exception.h> |
6 | #include <bandit/test_run_error.h> |
7 | |
8 | namespace bandit { |
9 | namespace detail { |
10 | struct listener { |
11 | virtual ~listener() {} |
12 | |
13 | virtual void test_run_starting() = 0; |
14 | virtual void test_run_complete() = 0; |
15 | |
16 | virtual void context_starting(const std::string& desc) = 0; |
17 | virtual void context_ended(const std::string& desc) = 0; |
18 | virtual void test_run_error(const std::string& desc, const test_run_error& error) = 0; |
19 | |
20 | virtual void it_starting(const std::string& desc) = 0; |
21 | virtual void it_succeeded(const std::string& desc) = 0; |
22 | virtual void it_failed(const std::string& desc, const detail::assertion_exception& ex) = 0; |
23 | virtual void it_unknown_error(const std::string& desc) = 0; |
24 | virtual void it_skip(const std::string& desc) = 0; |
25 | |
26 | virtual bool did_we_pass() const = 0; |
27 | }; |
28 | |
29 | typedef std::unique_ptr<listener> listener_ptr; |
30 | } |
31 | } |
32 | #endif |
33 | |