16 class registered_test_class;
30 std::chrono::milliseconds elapsed_time()
const noexcept {
31 using namespace std::chrono_literals;
32 if (this->start_time_point.time_since_epoch() == 0ms && this->end_time_point.time_since_epoch() == 0ms)
return 0ms;
33 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);
34 return std::chrono::duration_cast<std::chrono::milliseconds>(this->end_time_point - this->start_time_point);
37 std::string name()
const noexcept {
return this->name_;}
39 size_t test_count()
const noexcept {
41 for (
auto method : this->tests_)
46 size_t aborted_test_count()
const noexcept {
48 for (
auto method : this->tests_)
53 size_t failed_test_count()
const noexcept {
55 for (
auto method : this->tests_)
60 size_t ignored_test_count()
const noexcept {
62 for (
auto method : this->tests_)
67 size_t succeed_test_count()
const noexcept {
69 for (
auto method : this->tests_)
74 const std::vector<tunit::test>& tests()
const noexcept {
return this->tests_;}
81 void add_test_cleanup(
const tunit::test& test_cleanup) noexcept {this->test_cleanup_ = test_cleanup;}
83 void add_test_initialize(
const tunit::test& test_initialize) noexcept {this->test_initialize_ = test_initialize;}
85 void add_test_method(
const tunit::test&
test) noexcept {this->tests_.push_back(test);}
99 const tunit::test& test_cleanup()
const noexcept {
return this->test_cleanup_;}
100 const tunit::test& test_initialize()
const noexcept {
return this->test_initialize_;}
101 const std::vector<tunit::test>& test_methods()
const noexcept {
return this->tests_;}
107 std::chrono::high_resolution_clock::time_point end_time_point;
109 std::chrono::high_resolution_clock::time_point start_time_point;
112 std::vector<tunit::test> tests_;
116 #define test_class_(class_name) \ 118 tunit::test_class_attribute<class_name> __##class_name##_attribute {#class_name}; \ 119 class class_name : public tunit::test_class 121 #define test_class_from_(class_name, from_class_name) \ 123 tunit::test_class_attribute<class_name> __##class_name##_attribute {#class_name}; \ 124 class class_name : public from_class_name #define class_cleanup_(method_name)
add cleaup class method to class test.
Definition: class_cleanup_attribute.h:31
Definition: test_class.h:21
Contains tunit::test_method_attribute class.
Contains tunit::test_cleanup_attribute class.
static tunit::settings & default_settings() noexcept
Get default settings intance.
Definition: settings.h:23
Definition: test_method_attribute.h:9
Contains tunit::class_initialize_attribute class.
Definition: test_cleanup_attribute.h:8
Definition: test_initialize_attribute.h:8
The template class.
Definition: unit_test.h:23
This attribute is use to add initialize class method to class test attribute.
Definition: class_initialize_attribute.h:9
This attribute is use to add cleaup class method to class test attribute.
Definition: class_cleanup_attribute.h:9
Contains tunit::class_cleanup_attribute class.
The tunit namespace contains a unit test library.
Definition: abort_error.h:8
Contains tunit::settings class.
Definition: registered_test_class.h:10
#define class_initialize_(method_name)
add initialize class method to class test.
Definition: class_initialize_attribute.h:31
Contains tunit::test_initialize_attribute class.