#include <xtd/xtd.tunit>
private:
}
}
}
}
void on_test_succeed(
const xtd::tunit::test_event_args& e)
const override {
console::out <<
"[ OK ] " <<
e.test_class().name() <<
"." <<
e.test().name() <<
" (" <<
as<int>(
e.test().elapsed_time().total_microseconds()) <<
" ms)" << environment::new_line;
}
void on_test_failed(
const xtd::tunit::test_event_args& e)
const override {
console::out <<
e.test().stack_frame().get_file_name() <<
":" <<
e.test().stack_frame().get_file_line_number() <<
": Failure" << environment::new_line;
if (
e.test().actual() !=
"") console::out <<
" Actual: " <<
e.test().actual() << environment::new_line;
if (
e.test().expect() !=
"") console::out <<
"Expected: " <<
e.test().expect() << environment::new_line;
if (
e.test().message() !=
"") console::out <<
e.test().message() << environment::new_line;
console::out <<
"[ FAILED ] " <<
e.test_class().name() <<
"." <<
e.test().name() <<
" (" <<
as<int>(
e.test().elapsed_time().total_milliseconds()) <<
" ms)" << environment::new_line;
}
void on_class_end(
const xtd::tunit::class_event_args& e)
const override {
console::out <<
"[----------] " <<
e.test_class().test_count() <<
" tests from " <<
e.test_class().name() <<
" (" <<
as<int>(
e.test_class().elapsed_time().total_milliseconds()) <<
" ms)" << environment::new_line;
}
console::out << environment::new_line << "[----------] Global test environment tear-down" << environment::new_line;
}
console::out <<
"[==========] " <<
e.unit_test().test_count() <<
" tests from " <<
e.unit_test().test_cases_count() <<
" test case ran. (" <<
as<int>(
e.unit_test().elapsed_time().total_milliseconds()) <<
" ms total)" << environment::new_line;
console::out <<
"[ PASSED ] " <<
e.unit_test().succeed_test_count() <<
" tests." << environment::new_line;
if (
e.unit_test().failed_test_count()) {
console::out <<
"[ FAILED ] " <<
e.unit_test().failed_test_count() <<
" test, listed below:" << environment::new_line;
for (
string name :
e.unit_test().failed_test_names())
console::out <<
"[ FAILED ] " <<
name << environment::new_line;
console::out << environment::new_line;
console::out <<
" " <<
e.unit_test().failed_test_count() <<
" FAILED TEST" << environment::new_line;
}
if (!
e.unit_test().failed_test_count() &&
e.unit_test().ignored_test_count()) console::out << environment::new_line;
if (
e.unit_test().ignored_test_count()) console::out <<
" YOU HAVE " <<
e.unit_test().ignored_test_count() <<
" DISABLED TESTS" << environment::new_line << environment::new_line;
}
};
class gtest_unit_test final :
public unit_test {
public:
gtest_unit_test() : unit_test(
new_uptr<gtest_event_listener>()) {}
};
namespace unit_tests {
class test_class_(test) {
}
}
assert::is_true(false, "Your message...");
}
}
};
}
auto main() -> int {
return gtest_unit_test().run();
}
static std::ostream out
Gets the standard output stream. A std::basic_ostream<char_t> that represents the standard output str...
Definition console.hpp:52
static xtd::string new_line() noexcept
Gets the newline string defined for this environment.
Provides data for the xtd::tunit::class_test events.
Definition class_event_args.hpp:18
Represent the event listener class. Unit test call theses events when unit tests are processing.
Definition event_listener.hpp:23
virtual void on_class_start(const xtd::tunit::class_event_args &e) const
Occurs when class is started.
Definition event_listener.hpp:54
virtual void on_test_succeed(const xtd::tunit::test_event_args &e) const
Occurs when test is succeed.
Definition event_listener.hpp:94
virtual void on_unit_test_start(const xtd::tunit::tunit_event_args &e) const
Occurs when unit test cleanup is started.
Definition event_listener.hpp:118
virtual void on_test_start(const xtd::tunit::test_event_args &e) const
Occurs when test initialize is started.
Definition event_listener.hpp:90
virtual void on_unit_test_end(const xtd::tunit::tunit_event_args &e) const
Occurs when unit test is ended.
Definition event_listener.hpp:106
virtual void on_unit_test_cleanup_end(const xtd::tunit::tunit_event_args &e) const
Occurs when unit test cleanup is ended.
Definition event_listener.hpp:98
virtual void on_class_end(const xtd::tunit::class_event_args &e) const
Occurs when class is ended.
Definition event_listener.hpp:42
virtual void on_test_failed(const xtd::tunit::test_event_args &e) const
Occurs when test is failed.
Definition event_listener.hpp:86
virtual void on_unit_test_initialize_end(const xtd::tunit::tunit_event_args &e) const
Occurs when unit test initialize is ended.
Definition event_listener.hpp:110
Provides data for the xtd::tunit::test events.
Definition test_event_args.hpp:19
tunit_event_args is the base class for classes containing event data.
Definition tunit_event_args.hpp:19
The unit_test class is unit test base interface.
Definition unit_test.hpp:29
xtd::string name() noexcept
Gets the thread name of the current thread.
#define test_method_(method_name)
Add test method to class test.
Definition test_method_attribute.hpp:72
#define ignore_test_method_(method_name)
Add ignored test method to class test.
Definition test_method_attribute.hpp:57
uptr< type_t > new_uptr(args_t &&... args)
xtd::new_uptr operator. This operator creates a xtd::uptr object.
Definition new_uptr.hpp:24
type_t as(any_object &o)
Casts a type into another type.
Definition __as_any_object.hpp:59
@ e
The E key.
Definition console_key.hpp:96
The tunit namespace contains a unit test library.
Definition abort_error.hpp:10
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8