4 #include "__console_color.h" 26 this->os_ << __foreground_color(__console_color::magenta);
27 this->os_ <<
" ABORTED ";
28 this->os_ << __reset_color();
31 this->os_ <<
" (" << e.
test().elapsed_time().count() <<
" ms total)";
32 this->os_ << std::endl;
33 if (e.
test().message() !=
"")
34 this->os_ <<
" " << e.
test().message() << std::endl;
35 if (e.
test().expect() !=
"")
36 this->os_ <<
" Expected: " << e.
test().expect() << std::endl;
37 if (e.
test().actual() !=
"")
38 this->os_ <<
" But was: " << e.
test().actual() << std::endl;
40 this->os_ <<
" Stack Trace: in " << e.
test().line_info().
file_path();
43 this->os_ << std::endl;
50 this->os_ << __foreground_color(__console_color::red);
51 this->os_ <<
" FAILED ";
52 this->os_ << __reset_color();
55 this->os_ <<
" (" << e.
test().elapsed_time().count() <<
" ms total)";
56 this->os_ << std::endl;
57 if (e.
test().message() !=
"")
58 this->os_ <<
" " << e.
test().message() << std::endl;
59 if (e.
test().expect() !=
"")
60 this->os_ <<
" Expected: " << e.
test().expect() << std::endl;
61 if (e.
test().actual() !=
"")
62 this->os_ <<
" But was: " << e.
test().actual() << std::endl;
64 this->os_ <<
" Stack Trace: in " << e.
test().line_info().
file_path();
67 this->os_ << std::endl;
74 this->os_ << __foreground_color(__console_color::yellow);
75 this->os_ <<
" IGNORED ";
76 this->os_ << __reset_color();
79 this->os_ <<
" (" << e.
test().elapsed_time().count() <<
" ms total)";
80 this->os_ << std::endl;
81 if (e.
test().message() !=
"")
82 this->os_ <<
" " << e.
test().message() << std::endl;
89 this->os_ << __foreground_color(__console_color::green);
90 this->os_ <<
" SUCCEED ";
91 this->os_ << __reset_color();
94 this->os_ <<
" (" << e.
test().elapsed_time().count() <<
" ms total)";
95 this->os_ << std::endl;
96 if (e.
test().message() !=
"")
97 this->os_ <<
" " << e.
test().message() << std::endl;
104 this->os_ << std::endl;
105 this->os_ <<
"Test results:" << std::endl;
106 if (e.
unit_test().succeed_test_count()) {
107 this->os_ << __foreground_color(__console_color::green);
108 this->os_ <<
" SUCCEED ";
109 this->os_ << __reset_color();
110 this->os_ << e.
unit_test().succeed_test_count() <<
" test" << (e.
unit_test().succeed_test_count() < 2 ?
"" :
"s") <<
"." << std::endl;
112 if (e.
unit_test().aborted_test_count()) {
113 this->os_ << __foreground_color(__console_color::magenta);
114 this->os_ <<
" ABORTED ";
115 this->os_ << __reset_color();
116 this->os_ << e.
unit_test().aborted_test_count() <<
" test" << (e.
unit_test().aborted_test_count() < 2 ?
"" :
"s") <<
"." << std::endl;
119 this->os_ << __foreground_color(__console_color::red);
120 this->os_ <<
" FAILED ";
121 this->os_ << __reset_color();
122 this->os_ << e.
unit_test().failed_test_count() <<
" test" << (e.
unit_test().failed_test_count() < 2 ?
"" :
"s") <<
"." << std::endl;
124 if (e.
unit_test().ignored_test_count()) {
125 this->os_ << __foreground_color(__console_color::yellow);
126 this->os_ <<
" IGNORED ";
127 this->os_ << __reset_color();
128 this->os_ << e.
unit_test().ignored_test_count() <<
" test" << (e.
unit_test().ignored_test_count() < 2 ?
"" :
"s") <<
"." << std::endl;
131 this->os_ <<
"End " << e.
unit_test().test_count() <<
" test" << (e.
unit_test().test_count() < 2 ?
"" :
"s") <<
" from " << e.
unit_test().test_cases_count() <<
" test case" << (e.
unit_test().test_cases_count() < 2 ?
"" :
"s") <<
" ran.";
133 this->os_ <<
" (" << e.
unit_test().elapsed_time().count() <<
" ms total)";
134 this->os_ << std::endl << std::endl;
141 this->os_ << __foreground_color(__console_color::cyan);
142 this->os_ <<
"Repeating all tests (iteration " << e.
unit_test().repeat_iteration() <<
") . . ." << std::endl << std::endl;
143 this->os_ << __reset_color();
145 this->os_ <<
"Start " << e.
unit_test().test_count() <<
" test" << (e.
unit_test().test_count() < 2 ?
"" :
"s") <<
" from " << e.
unit_test().test_cases_count() <<
" test case" << (e.
unit_test().test_cases_count() < 2 ?
"" :
"s") << std::endl;
146 this->os_ <<
"Run tests:" << std::endl;
virtual void on_test_ignored(const tunit::test_event_args &e) const
Occurs when test is ignored.
Definition: event_listener.h:71
void on_test_aborted(const tunit::test_event_args &e) const override
Occurs when test is aborted.
Definition: ostream_event_listener.h:24
Provides data for the tunit::test events.
Definition: test_event_args.h:11
unsigned int line_number() const noexcept
Gets the line number.
Definition: line_info.h:50
static tunit::settings & default_settings() noexcept
Get default settings intance.
Definition: settings.h:23
const tunit::test_class & test_class() const noexcept
Gets current class test.
Definition: test_event_args.h:24
void on_test_ignored(const tunit::test_event_args &e) const override
Occurs when test is ignored.
Definition: ostream_event_listener.h:72
const tunit::unit_test & unit_test() const
Gets current unit test.
Definition: tunit_event_args.h:23
void on_test_succeed(const tunit::test_event_args &e) const override
Occurs when test is succeed.
Definition: ostream_event_listener.h:87
void on_unit_test_end(const tunit::tunit_event_args &e) const override
Occurs when unit test is ended.
Definition: ostream_event_listener.h:102
virtual void on_unit_test_end(const tunit::tunit_event_args &e) const
Occurs when unit test is ended.
Definition: event_listener.h:95
static tunit::line_info empty()
Return an empty line info.
Definition: line_info.h:31
void on_unit_test_start(const tunit::tunit_event_args &e) const override
Occurs when unit test cleanup is started.
Definition: ostream_event_listener.h:139
virtual void on_test_aborted(const tunit::test_event_args &e) const
Occurs when test is aborted.
Definition: event_listener.h:63
ostream_event_listener(std::ostream &os) noexcept
Creates new instance ostream event lister with ostream specified.
Definition: ostream_event_listener.h:20
tunit_event_args is the base class for classes containing event data.
Definition: tunit_event_args.h:12
The ostream_unit_test class is a specialisation of event_listener class for writing events in std::os...
Definition: ostream_event_listener.h:16
Represent the event listener class.
Definition: event_listener.h:15
void on_test_failed(const tunit::test_event_args &e) const override
Occurs when test is failed.
Definition: ostream_event_listener.h:48
The tunit namespace contains a unit test library.
Definition: abort_error.h:8
Contains tunit::event_listener class.
virtual void on_unit_test_start(const tunit::tunit_event_args &e) const
Occurs when unit test cleanup is started.
Definition: event_listener.h:107
bool show_duration() const noexcept
Gets if show duration for each test.
Definition: settings.h:126
const tunit::test & test() const noexcept
Gets current test.
Definition: test_event_args.h:20
virtual void on_test_failed(const tunit::test_event_args &e) const
Occurs when test is failed.
Definition: event_listener.h:75
virtual void on_test_succeed(const tunit::test_event_args &e) const
Occurs when test is succeed.
Definition: event_listener.h:83
const std::string & file_path() const noexcept
Gets the file path.
Definition: line_info.h:46