xtd 0.2.0
Loading...
Searching...
No Matches
test_initialize_attribute.h
Go to the documentation of this file.
1
4#pragma once
5#include <xtd/diagnostics/stack_frame>
6#include <xtd/ustring>
7
9namespace xtd {
11 namespace tunit {
18 public:
20
26 template<typename test_class_t>
27 test_initialize_attribute(const xtd::ustring& name, test_class_t& test_class, void (*method)()) noexcept : test_initialize_attribute(name, test_class, method, xtd::diagnostics::stack_frame()) {}
28
34 template<typename test_class_t>
35 test_initialize_attribute(const xtd::ustring& name, test_class_t& test_class, void (*method)(), const xtd::diagnostics::stack_frame& stack_frame) noexcept {test_class.add_test_initialize({name, method, stack_frame});}
37 };
38 }
39}
40
47#define test_initialize_(method_name) \
48 __##method_name##_unused() = delete; \
49 class __test_initialize_attribute : public xtd::tunit::test_initialize_attribute { \
50 public:\
51 template<typename test_class> __test_initialize_attribute(test_class& test) : test_initialize_attribute(#method_name, test, &test_class::method_name, {__FILE__, __LINE__, __func__}) {} \
52 } __test_initialize_attribute {*this}; \
53 static void method_name()
54
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition stack_frame.h:37
Represents a test class.
Definition test_class.h:39
void add_test_initialize(const xtd::tunit::test &test_initialize) noexcept
Adds the test initialize method.
Represents a test initialize attribute.
Definition test_initialize_attribute.h:17
test_initialize_attribute(const xtd::ustring &name, test_class_t &test_class, void(*method)(), const xtd::diagnostics::stack_frame &stack_frame) noexcept
Creates a new instance of test_initialize_attribute with specified name, test_class and method.
Definition test_initialize_attribute.h:35
test_initialize_attribute(const xtd::ustring &name, test_class_t &test_class, void(*method)()) noexcept
Creates a new instance of test_initialize_attribute with specified name, test_class and method.
Definition test_initialize_attribute.h:27
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10