21 enum class test_status {
31 test(
const std::string& name,
const std::function<
void()>& method,
const tunit::line_info& caller) noexcept :
test(name, method,
false, caller) {}
32 test(
const std::string& name,
const std::function<
void()>& method,
bool ignore,
const tunit::line_info& info) noexcept : info_(info), method_(method), name_(name), status_(ignore ? test_status::ignored : test_status::not_started) {}
34 bool aborted()
const noexcept {
return this->status_ == test_status::aborted;}
36 const std::string& actual()
const noexcept {
return this->actual_;}
38 const std::string& expect()
const noexcept {
return this->expect_;}
40 bool failed()
const noexcept {
return this->status_ == test_status::failed;}
42 bool ignored()
const noexcept {
return this->status_ == test_status::ignored;}
44 bool not_started()
const noexcept {
return this->status_ == test_status::not_started;}
46 bool succeed()
const noexcept {
return this->status_ == test_status::succeed;}
50 std::function<void()> method()
const noexcept {
return this->method_;}
52 const std::string& message()
const noexcept {
return this->message_;}
54 const std::string& name()
const noexcept {
return this->name_;}
56 const std::string& user_message()
const noexcept {
return this->user_message_;}
58 std::chrono::milliseconds elapsed_time()
const noexcept {
59 using namespace std::chrono_literals;
60 if (this->start_time_point.time_since_epoch() == 0ms && this->end_time_point.time_since_epoch() == 0ms)
return 0ms;
61 if (this->end_time_point.time_since_epoch() == 0ms)
return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - this->start_time_point);
62 return std::chrono::duration_cast<std::chrono::milliseconds>(this->end_time_point - this->start_time_point);
70 static test& current_test() {
return *current_test_;}
71 static const test_class& current_test_class() {
return *current_test_class_;}
72 static const unit_test& current_unit_test() {
return *current_unit_test_;}
76 std::chrono::high_resolution_clock::time_point end_time_point;
77 static test* current_test_;
78 static const test_class* current_test_class_;
79 static const unit_test* current_unit_test_;
84 std::function<void()> method_;
86 std::chrono::high_resolution_clock::time_point start_time_point;
87 test_status status_ = test_status::not_started;
88 std::string user_message_;
Definition: test_class.h:21
Contains tunit::assert_error exception.
The assert class contains a collection of static methods that implement the most common assertions us...
Definition: assert.h:26
Contains tunit::line_info class.
The template class.
Definition: unit_test.h:23
Contains tunit::assert class.
line_info information class is used to store current file, current line and current function informat...
Definition: line_info.h:13
Definition: base_assert.h:15
The tunit namespace contains a unit test library.
Definition: abort_error.h:8
The assert class contains a collection of static methods that implement the most common assertions us...
Definition: valid.h:12