mirror of
https://github.com/mat007/turtle.git
synced 2026-06-22 12:13:43 +00:00
Add macros to StatementMacros
This commit is contained in:
parent
e1ac66a4c1
commit
035ad716bf
35 changed files with 5224 additions and 1208 deletions
|
|
@ -133,6 +133,26 @@ Standard: c++14
|
|||
StatementMacros:
|
||||
- Q_UNUSED
|
||||
- QT_REQUIRE_VERSION
|
||||
- MOCK_CLASS
|
||||
- MOCK_BASE_CLASS
|
||||
- MOCK_CONSTRUCTOR
|
||||
- MOCK_DESTRUCTOR
|
||||
- MOCK_METHOD
|
||||
- MOCK_CONST_METHOD
|
||||
- MOCK_NON_CONST_METHOD
|
||||
- MOCK_METHOD_EXT
|
||||
- MOCK_CONST_METHOD_EXT
|
||||
- MOCK_NON_CONST_METHOD_EXT
|
||||
- MOCK_METHOD_TPL
|
||||
- MOCK_CONST_METHOD_TPL
|
||||
- MOCK_NON_CONST_METHOD_TPL
|
||||
- MOCK_STATIC_METHOD
|
||||
- MOCK_STATIC_METHOD_TPL
|
||||
- MOCK_CONVERSION_OPERATOR
|
||||
- MOCK_CONST_CONVERSION_OPERATOR
|
||||
- MOCK_NON_CONST_CONVERSION_OPERATOR
|
||||
- MOCK_CONST_CONVERSION_OPERATOR_TPL
|
||||
- MOCK_NON_CONST_CONVERSION_OPERATOR_TPL
|
||||
TabWidth: 8
|
||||
UseCRLF: false
|
||||
UseTab: Never
|
||||
|
|
|
|||
|
|
@ -99,7 +99,10 @@ public:
|
|||
};
|
||||
//]
|
||||
|
||||
MOCK_BASE_CLASS(mock_view, view){ MOCK_METHOD(display, 1) };
|
||||
MOCK_BASE_CLASS(mock_view, view)
|
||||
{
|
||||
MOCK_METHOD(display, 1)
|
||||
};
|
||||
|
||||
class calculator
|
||||
{
|
||||
|
|
|
|||
|
|
@ -22,14 +22,16 @@ namespace limitations_comma_in_macro_solution_1 {
|
|||
//[ limitations_comma_in_macro_solution_1
|
||||
typedef my_base_class<int, int> my_base_type;
|
||||
|
||||
MOCK_BASE_CLASS(my_mock, my_base_type){};
|
||||
MOCK_BASE_CLASS(my_mock, my_base_type)
|
||||
{};
|
||||
//]
|
||||
} // namespace limitations_comma_in_macro_solution_1
|
||||
|
||||
namespace limitations_comma_in_macro_solution_2 {
|
||||
//[ limitations_comma_in_macro_solution_2
|
||||
template<typename T1, typename T2>
|
||||
MOCK_BASE_CLASS(my_mock, my_base_class<T1 BOOST_PP_COMMA() T2>){};
|
||||
MOCK_BASE_CLASS(my_mock, my_base_class<T1 BOOST_PP_COMMA() T2>)
|
||||
{};
|
||||
//]
|
||||
} // namespace limitations_comma_in_macro_solution_2
|
||||
|
||||
|
|
|
|||
|
|
@ -34,10 +34,10 @@ void derived::method(int) {}
|
|||
|
||||
namespace limitations_const_parameter_warning_solution {
|
||||
//[ limitations_const_parameter_warning_solution
|
||||
MOCK_BASE_CLASS(mock_base, base){ void method(const int i){ method_stub(i);
|
||||
} // namespace limitations_const_parameter_warning_solution
|
||||
MOCK_METHOD(method_stub, 1, void(int), method)
|
||||
}
|
||||
;
|
||||
MOCK_BASE_CLASS(mock_base, base)
|
||||
{
|
||||
void method(const int i) { method_stub(i); } // namespace limitations_const_parameter_warning_solution
|
||||
MOCK_METHOD(method_stub, 1, void(int), method)
|
||||
};
|
||||
//]
|
||||
}
|
||||
} // namespace limitations_const_parameter_warning_solution
|
||||
|
|
|
|||
|
|
@ -18,7 +18,10 @@ public:
|
|||
virtual void method(int* i) = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(mock_base, base){ MOCK_METHOD(method, 1) };
|
||||
MOCK_BASE_CLASS(mock_base, base)
|
||||
{
|
||||
MOCK_METHOD(method, 1)
|
||||
};
|
||||
//]
|
||||
} // namespace
|
||||
|
||||
|
|
|
|||
|
|
@ -20,5 +20,8 @@ public:
|
|||
//]
|
||||
|
||||
//[ limitations_non_virtual_method_problem_2
|
||||
MOCK_BASE_CLASS(mock_base, base){ MOCK_METHOD(method, 0) };
|
||||
MOCK_BASE_CLASS(mock_base, base)
|
||||
{
|
||||
MOCK_METHOD(method, 0)
|
||||
};
|
||||
//]
|
||||
|
|
|
|||
|
|
@ -23,6 +23,10 @@ private:
|
|||
//]
|
||||
|
||||
//[ limitations_protected_private_method_solution
|
||||
MOCK_BASE_CLASS(mock_base, base){ MOCK_METHOD(method_1, 0, void()) MOCK_METHOD(method_2, 0, void()) };
|
||||
MOCK_BASE_CLASS(mock_base, base)
|
||||
{
|
||||
MOCK_METHOD(method_1, 0, void())
|
||||
MOCK_METHOD(method_2, 0, void())
|
||||
};
|
||||
//]
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -24,6 +24,9 @@ public:
|
|||
|
||||
//[ limitations_template_base_class_method_solution
|
||||
template<typename T>
|
||||
MOCK_BASE_CLASS(mock_base, base<T>){ MOCK_METHOD(method, 1, void()) };
|
||||
MOCK_BASE_CLASS(mock_base, base<T>)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void())
|
||||
};
|
||||
//]
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -29,8 +29,11 @@ void function_under_test(T t) // T is supposed to model the previous concept
|
|||
//]
|
||||
|
||||
//[ limitations_template_method_solution
|
||||
MOCK_CLASS(mock_concept){ MOCK_METHOD(method, 1, void(int), method_int)
|
||||
MOCK_METHOD(method, 1, void(const char*), method_string) };
|
||||
MOCK_CLASS(mock_concept)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void(int), method_int)
|
||||
MOCK_METHOD(method, 1, void(const char*), method_string)
|
||||
};
|
||||
//]
|
||||
} // namespace limitations_template_method_problem
|
||||
|
||||
|
|
|
|||
|
|
@ -21,10 +21,10 @@ struct base_class
|
|||
//]
|
||||
|
||||
//[ limitations_throw_specifier_solution
|
||||
MOCK_BASE_CLASS(mock_class, base_class){ void method() throw(){ method_proxy();
|
||||
} // namespace
|
||||
MOCK_METHOD(method_proxy, 0, void(), method)
|
||||
}
|
||||
;
|
||||
MOCK_BASE_CLASS(mock_class, base_class)
|
||||
{
|
||||
void method() throw() { method_proxy(); } // namespace
|
||||
MOCK_METHOD(method_proxy, 0, void(), method)
|
||||
};
|
||||
//]
|
||||
}
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -17,6 +17,6 @@ MOCK_BASE_CLASS(mock_view, view) // declare a 'mock_view' class implementing 'vi
|
|||
{
|
||||
MOCK_METHOD(display, 1) // implement the 'display' method from 'view' (taking 1 argument)
|
||||
};
|
||||
//]
|
||||
//]
|
||||
|
||||
#endif // MOCK_VIEW
|
||||
|
|
|
|||
|
|
@ -43,7 +43,10 @@ void check(bool& condition, F flush, int attempts = 100, int sleep = 100)
|
|||
}
|
||||
}
|
||||
|
||||
MOCK_BASE_CLASS(mock_base_class, base_class){ MOCK_METHOD(method, 0) };
|
||||
MOCK_BASE_CLASS(mock_base_class, base_class)
|
||||
{
|
||||
MOCK_METHOD(method, 0)
|
||||
};
|
||||
void set_bool(bool& b)
|
||||
{
|
||||
b = true;
|
||||
|
|
|
|||
|
|
@ -27,8 +27,11 @@ void function(base_class&); // the function will call 'method' with a functor to
|
|||
#include <boost/test/auto_unit_test.hpp>
|
||||
|
||||
namespace {
|
||||
MOCK_BASE_CLASS(mock_class, base_class){ MOCK_METHOD(method, 1) };
|
||||
}
|
||||
MOCK_BASE_CLASS(mock_class, base_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_AUTO_TEST_CASE(how_to_invoke_a_functor_passed_as_parameter_of_a_mock_method)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@ std::ostream& operator<<(std::ostream& os, const my_class& c) // my_class is ser
|
|||
return os << "my_class( " << c.data_ << " )";
|
||||
}
|
||||
|
||||
MOCK_CLASS(my_mock){
|
||||
MOCK_CLASS(my_mock)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void(const my_class&)) // how to simply write a custom constraint ?
|
||||
};
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -31,8 +31,11 @@ public:
|
|||
#include <boost/test/auto_unit_test.hpp>
|
||||
|
||||
namespace {
|
||||
MOCK_BASE_CLASS(mock_base_class, base_class){ MOCK_METHOD(method, 1) };
|
||||
}
|
||||
MOCK_BASE_CLASS(mock_base_class, base_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_AUTO_TEST_CASE(method_is_called_two_times_with_the_same_value)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,7 +12,8 @@
|
|||
|
||||
namespace class_example_1 {
|
||||
//[ class_example_1
|
||||
MOCK_CLASS(mock_class){};
|
||||
MOCK_CLASS(mock_class)
|
||||
{};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_instantiating_a_mock_class)
|
||||
{
|
||||
|
|
@ -24,7 +25,8 @@ BOOST_AUTO_TEST_CASE(demonstrates_instantiating_a_mock_class)
|
|||
namespace class_example_2 {
|
||||
//[ class_example_2
|
||||
template<typename T>
|
||||
MOCK_CLASS(mock_class){};
|
||||
MOCK_CLASS(mock_class)
|
||||
{};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_instantiating_a_template_mock_class)
|
||||
{
|
||||
|
|
@ -38,7 +40,8 @@ namespace class_example_3 {
|
|||
struct base_class
|
||||
{};
|
||||
|
||||
MOCK_BASE_CLASS(mock_class, base_class){};
|
||||
MOCK_BASE_CLASS(mock_class, base_class)
|
||||
{};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_instantiating_a_derived_mock_class)
|
||||
{
|
||||
|
|
@ -54,7 +57,8 @@ struct base_class
|
|||
{};
|
||||
|
||||
template<typename T>
|
||||
MOCK_BASE_CLASS(mock_class, base_class<T>){};
|
||||
MOCK_BASE_CLASS(mock_class, base_class<T>)
|
||||
{};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_instantiating_a_template_derived_mock_class)
|
||||
{
|
||||
|
|
@ -113,7 +117,8 @@ struct base_class
|
|||
virtual void method(int) = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(mock_class, base_class){
|
||||
MOCK_BASE_CLASS(mock_class, base_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1) // only possible when referring unambiguously to a base class method
|
||||
};
|
||||
//]
|
||||
|
|
@ -128,7 +133,8 @@ struct base_class
|
|||
virtual void method(float) = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(mock_class, base_class){
|
||||
MOCK_BASE_CLASS(mock_class, base_class)
|
||||
{
|
||||
MOCK_METHOD(
|
||||
method,
|
||||
2,
|
||||
|
|
@ -151,7 +157,8 @@ struct base_class
|
|||
virtual void method(float) const = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(mock_class, base_class){
|
||||
MOCK_BASE_CLASS(mock_class, base_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void(float)) // this generates both const and non-const versions
|
||||
};
|
||||
//]
|
||||
|
|
@ -166,7 +173,8 @@ struct base_class
|
|||
virtual void method(float) const = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(mock_class, base_class){
|
||||
MOCK_BASE_CLASS(mock_class, base_class)
|
||||
{
|
||||
MOCK_CONST_METHOD(method, 1, void(float), identifier_1) // this generates only the const version
|
||||
MOCK_NON_CONST_METHOD(method,
|
||||
1,
|
||||
|
|
@ -195,7 +203,8 @@ struct mock_class : base_class
|
|||
|
||||
namespace member_function_example_6 {
|
||||
//[ member_function_example_6
|
||||
MOCK_CLASS(mock_class){
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_NON_CONST_METHOD(operator=,
|
||||
1,
|
||||
mock_class &(const mock_class&),
|
||||
|
|
@ -207,7 +216,8 @@ MOCK_CLASS(mock_class){
|
|||
namespace member_function_example_7 {
|
||||
//[ member_function_example_7
|
||||
template<typename T>
|
||||
MOCK_CLASS(mock_class){
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD_TPL(
|
||||
method,
|
||||
1,
|
||||
|
|
@ -218,10 +228,10 @@ MOCK_CLASS(mock_class){
|
|||
|
||||
namespace member_function_example_8 {
|
||||
//[ member_function_example_8
|
||||
MOCK_CLASS(mock_class){
|
||||
MOCK_METHOD(method,
|
||||
0,
|
||||
BOOST_IDENTITY_TYPE((std::map<int, int>()))) // the signature must be wrapped in BOOST_IDENTITY_TYPE if
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(
|
||||
method, 0, BOOST_IDENTITY_TYPE((std::map<int, int>()))) // the signature must be wrapped in BOOST_IDENTITY_TYPE if
|
||||
// the return type contains a comma
|
||||
};
|
||||
//]
|
||||
|
|
@ -230,7 +240,8 @@ MOCK_CLASS(mock_class){
|
|||
#ifdef BOOST_MSVC
|
||||
namespace member_function_example_9 {
|
||||
//[ member_function_example_9
|
||||
MOCK_CLASS(mock_class){
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(__stdcall method,
|
||||
0,
|
||||
void(),
|
||||
|
|
@ -242,21 +253,28 @@ MOCK_CLASS(mock_class){
|
|||
|
||||
namespace static_member_function_example_1 {
|
||||
//[ static_member_function_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_STATIC_METHOD(method, 1, float(int)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_STATIC_METHOD(method, 1, float(int))
|
||||
};
|
||||
//]
|
||||
} // namespace static_member_function_example_1
|
||||
|
||||
namespace static_member_function_example_2 {
|
||||
//[ static_member_function_example_2
|
||||
template<typename T>
|
||||
MOCK_CLASS(mock_class){ MOCK_STATIC_METHOD_TPL(method, 1, void(T)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_STATIC_METHOD_TPL(method, 1, void(T))
|
||||
};
|
||||
//]
|
||||
} // namespace static_member_function_example_2
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
namespace static_member_function_example_3 {
|
||||
//[ static_member_function_example_3
|
||||
MOCK_CLASS(mock_class){
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_STATIC_METHOD(__stdcall method,
|
||||
0,
|
||||
void(),
|
||||
|
|
@ -268,51 +286,70 @@ MOCK_CLASS(mock_class){
|
|||
|
||||
namespace constructor_example_1 {
|
||||
//[ constructor_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_CONSTRUCTOR(mock_class, 2, (int, const std::string&), identifier) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_CONSTRUCTOR(mock_class, 2, (int, const std::string&), identifier)
|
||||
};
|
||||
//]
|
||||
} // namespace constructor_example_1
|
||||
|
||||
namespace constructor_example_2 {
|
||||
//[ constructor_example_2
|
||||
template<typename T>
|
||||
MOCK_CLASS(mock_class){ MOCK_CONSTRUCTOR(mock_class, 2, (int, const std::string&), identifier)
|
||||
MOCK_CONSTRUCTOR_TPL(mock_class, 2, (T, const std::string&), identifier_2) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_CONSTRUCTOR(mock_class, 2, (int, const std::string&), identifier)
|
||||
MOCK_CONSTRUCTOR_TPL(mock_class, 2, (T, const std::string&), identifier_2)
|
||||
};
|
||||
//]
|
||||
} // namespace constructor_example_2
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
namespace constructor_example_3 {
|
||||
//[ constructor_example_3
|
||||
MOCK_CLASS(mock_class){ MOCK_CONSTRUCTOR(__stdcall mock_class, 0, (), constructor) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_CONSTRUCTOR(__stdcall mock_class, 0, (), constructor)
|
||||
};
|
||||
//]
|
||||
} // namespace constructor_example_3
|
||||
#endif
|
||||
|
||||
namespace destructor_example_1 {
|
||||
//[ destructor_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_DESTRUCTOR(~mock_class, destructor) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_DESTRUCTOR(~mock_class, destructor)
|
||||
};
|
||||
//]
|
||||
} // namespace destructor_example_1
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
namespace destructor_example_2 {
|
||||
//[ destructor_example_2
|
||||
MOCK_CLASS(mock_class){ MOCK_DESTRUCTOR(__stdcall ~mock_class, destructor) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_DESTRUCTOR(__stdcall ~mock_class, destructor)
|
||||
};
|
||||
//]
|
||||
} // namespace destructor_example_2
|
||||
#endif
|
||||
|
||||
namespace conversion_operator_example_1 {
|
||||
//[ conversion_operator_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_CONVERSION_OPERATOR(operator, int, conversion_to_int)
|
||||
MOCK_CONST_CONVERSION_OPERATOR(operator, const std::string&, conversion_to_string) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_CONVERSION_OPERATOR(operator, int, conversion_to_int)
|
||||
MOCK_CONST_CONVERSION_OPERATOR(operator, const std::string&, conversion_to_string)
|
||||
};
|
||||
//]
|
||||
} // namespace conversion_operator_example_1
|
||||
|
||||
namespace conversion_operator_example_2 {
|
||||
//[ conversion_operator_example_2
|
||||
template<typename T>
|
||||
MOCK_CLASS(mock_class){
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_CONVERSION_OPERATOR_TPL(operator, T, conversion_to_T) // the _TPL variants must be used if the signature
|
||||
// includes a template parameter of the class
|
||||
MOCK_CONST_CONVERSION_OPERATOR(operator, const std::string&, const_conversion_to_string)
|
||||
|
|
@ -324,7 +361,10 @@ MOCK_CLASS(mock_class){
|
|||
#ifdef BOOST_MSVC
|
||||
namespace conversion_operator_example_3 {
|
||||
//[ conversion_operator_example_3
|
||||
MOCK_CLASS(mock_class){ MOCK_CONVERSION_OPERATOR(__stdcall operator, int, conversion_to_int) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_CONVERSION_OPERATOR(__stdcall operator, int, conversion_to_int)
|
||||
};
|
||||
//]
|
||||
} // namespace conversion_operator_example_3
|
||||
#endif
|
||||
|
|
@ -379,8 +419,11 @@ BOOST_AUTO_TEST_CASE(demonstrates_instantiating_a_mock_functor)
|
|||
|
||||
namespace expectation_example_1 {
|
||||
//[ expectation_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 1, int(int), method)
|
||||
MOCK_METHOD(method, 2, void(const std::string&, float), method2) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1, int(int), method)
|
||||
MOCK_METHOD(method, 2, void(const std::string&, float), method2)
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_configuring_mock_objects)
|
||||
{
|
||||
|
|
@ -395,7 +438,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_configuring_mock_objects)
|
|||
|
||||
namespace invocation_example_1 {
|
||||
//[ invocation_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 2, void(int, const std::string&)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 2, void(int, const std::string&))
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_setting_up_invocations_on_a_mock_method)
|
||||
{
|
||||
|
|
@ -429,7 +475,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_setting_up_an_invocation_on_a_mock_function)
|
|||
|
||||
namespace invocation_example_4 {
|
||||
//[ invocation_example_4
|
||||
MOCK_CLASS(mock_class){ MOCK_STATIC_METHOD(method, 1, void(int)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_STATIC_METHOD(method, 1, void(int))
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_setting_up_an_invocation_on_a_mock_static_method)
|
||||
{
|
||||
|
|
@ -442,7 +491,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_setting_up_an_invocation_on_a_mock_static_meth
|
|||
|
||||
namespace constraints_example_1 {
|
||||
//[ constraints_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 2, void(int, const std::string&)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 2, void(int, const std::string&))
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_adding_builtin_constraints)
|
||||
{
|
||||
|
|
@ -455,7 +507,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_adding_builtin_constraints)
|
|||
|
||||
namespace constraints_example_2 {
|
||||
//[ constraints_example_2
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 1, void(int)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void(int))
|
||||
};
|
||||
|
||||
bool custom_constraint(int actual)
|
||||
{
|
||||
|
|
@ -472,7 +527,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_adding_a_custom_constraint_with_a_free_functio
|
|||
|
||||
namespace constraints_example_3 {
|
||||
//[ constraints_example_3
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 1, void(int)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void(int))
|
||||
};
|
||||
|
||||
bool custom_constraint(int expected, int actual)
|
||||
{
|
||||
|
|
@ -490,7 +548,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_adding_a_custom_constraint_with_a_standard_lib
|
|||
|
||||
namespace constraints_example_4 {
|
||||
//[ constraints_example_4
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 1, void(int)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void(int))
|
||||
};
|
||||
|
||||
bool custom_constraint(int expected, int actual)
|
||||
{
|
||||
|
|
@ -511,7 +572,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_adding_a_custom_constraint_with_boost_bind)
|
|||
|
||||
namespace constraints_example_5 {
|
||||
//[ constraints_example_5
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 1, void(int)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void(int))
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_adding_a_custom_constraint_with_boost_lambda)
|
||||
{
|
||||
|
|
@ -527,7 +591,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_adding_a_custom_constraint_with_boost_lambda)
|
|||
|
||||
namespace constraints_example_6 {
|
||||
//[ constraints_example_6
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 1, void(int)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void(int))
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_adding_a_custom_constraint_with_boost_phoenix)
|
||||
{
|
||||
|
|
@ -542,7 +609,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_adding_a_custom_constraint_with_boost_phoenix)
|
|||
|
||||
namespace constraints_example_7 {
|
||||
//[ constraints_example_7
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 1, void(int)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1, void(int))
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_adding_a_constraint_with_cxx11_lambda)
|
||||
{
|
||||
|
|
@ -556,7 +626,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_adding_a_constraint_with_cxx11_lambda)
|
|||
|
||||
namespace constraints_example_8 {
|
||||
//[ constraints_example_8
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 2, void(int, const std::string&)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 2, void(int, const std::string&))
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_combining_constraints)
|
||||
{
|
||||
|
|
@ -568,7 +641,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_combining_constraints)
|
|||
|
||||
namespace constraints_example_9 {
|
||||
//[ constraints_example_9
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 2, void(const std::string&, std::size_t)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 2, void(const std::string&, std::size_t))
|
||||
};
|
||||
|
||||
bool custom_constraint(const std::string& actual_1, std::size_t actual_2)
|
||||
{
|
||||
|
|
@ -585,11 +661,20 @@ BOOST_AUTO_TEST_CASE(demonstrates_one_constraint_for_all_arguments)
|
|||
|
||||
namespace sequence_example_1 {
|
||||
//[ sequence_example_1
|
||||
MOCK_CLASS(mock_class_1){ MOCK_METHOD(method_1, 0, void()) };
|
||||
MOCK_CLASS(mock_class_1)
|
||||
{
|
||||
MOCK_METHOD(method_1, 0, void())
|
||||
};
|
||||
|
||||
MOCK_CLASS(mock_class_2){ MOCK_METHOD(method_2, 0, void()) };
|
||||
MOCK_CLASS(mock_class_2)
|
||||
{
|
||||
MOCK_METHOD(method_2, 0, void())
|
||||
};
|
||||
|
||||
MOCK_CLASS(mock_class_3){ MOCK_METHOD(method_3, 0, void()) };
|
||||
MOCK_CLASS(mock_class_3)
|
||||
{
|
||||
MOCK_METHOD(method_3, 0, void())
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_enforcing_several_expectation_orders)
|
||||
{
|
||||
|
|
@ -609,7 +694,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_enforcing_several_expectation_orders)
|
|||
|
||||
namespace action_example_1 {
|
||||
//[ action_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 1, int(int)) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 1, int(int))
|
||||
};
|
||||
|
||||
int function(int i)
|
||||
{
|
||||
|
|
@ -634,7 +722,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_configuring_actions)
|
|||
|
||||
namespace action_example_2 {
|
||||
//[ action_example_2
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 0, int&()) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 0, int&())
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_configuring_actions_with_references)
|
||||
{
|
||||
|
|
@ -649,7 +740,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_configuring_actions_with_references)
|
|||
|
||||
namespace verification_example_1 {
|
||||
//[ verification_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 0, void()) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 0, void())
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_verifying_a_mock_method)
|
||||
{
|
||||
|
|
@ -687,7 +781,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_verifying_a_mock_function)
|
|||
|
||||
namespace verification_example_4 {
|
||||
//[ verification_example_4
|
||||
MOCK_CLASS(mock_class){ MOCK_STATIC_METHOD(method, 0, void()) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_STATIC_METHOD(method, 0, void())
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_verifying_a_static_mock_method)
|
||||
{
|
||||
|
|
@ -701,7 +798,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_verifying_a_static_mock_method)
|
|||
|
||||
namespace reset_example_1 {
|
||||
//[ reset_example_1
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD(method, 0, void()) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD(method, 0, void())
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_resetting_a_mock_method)
|
||||
{
|
||||
|
|
@ -739,7 +839,10 @@ BOOST_AUTO_TEST_CASE(demonstrates_resetting_a_mock_function)
|
|||
|
||||
namespace reset_example_4 {
|
||||
//[ reset_example_4
|
||||
MOCK_CLASS(mock_class){ MOCK_STATIC_METHOD(method, 0, void()) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_STATIC_METHOD(method, 0, void())
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(demonstrates_resetting_a_static_mock_method)
|
||||
{
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -16,5 +16,8 @@ struct my_base
|
|||
virtual void my_method(int) = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(my_class, my_base){ MOCK_METHOD(my_method, 0) };
|
||||
MOCK_BASE_CLASS(my_class, my_base)
|
||||
{
|
||||
MOCK_METHOD(my_method, 0)
|
||||
};
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@
|
|||
#include <turtle/mock.hpp>
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_class){ MOCK_METHOD_EXT(my_method, 1, void(int), my_method) };
|
||||
MOCK_CLASS(my_class)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 1, void(int), my_method)
|
||||
};
|
||||
bool constraint(int, int);
|
||||
|
||||
void test_case()
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@
|
|||
#include <turtle/mock.hpp>
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_class){ MOCK_METHOD_EXT(my_method, 1, void(int), my_method) };
|
||||
MOCK_CLASS(my_class)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 1, void(int), my_method)
|
||||
};
|
||||
void test_case()
|
||||
{
|
||||
my_class c;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@
|
|||
#include <turtle/mock.hpp>
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_class){ MOCK_METHOD_EXT(my_method, 1, void(int), my_method) };
|
||||
MOCK_CLASS(my_class)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 1, void(int), my_method)
|
||||
};
|
||||
void test_case()
|
||||
{
|
||||
my_class c;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@
|
|||
#include <turtle/mock.hpp>
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_class){ MOCK_METHOD_EXT(my_method, 0, int(), my_method) };
|
||||
MOCK_CLASS(my_class)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 0, int(), my_method)
|
||||
};
|
||||
void test_case()
|
||||
{
|
||||
my_class c;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@
|
|||
#include <turtle/mock.hpp>
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_class){ MOCK_METHOD_EXT(my_method, 0, std::string(), my_method) };
|
||||
MOCK_CLASS(my_class)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 0, std::string(), my_method)
|
||||
};
|
||||
void test_case()
|
||||
{
|
||||
my_class c;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@
|
|||
#include <turtle/mock.hpp>
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_class){ MOCK_METHOD_EXT(my_method, 0, void(), my_method) };
|
||||
MOCK_CLASS(my_class)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 0, void(), my_method)
|
||||
};
|
||||
void test_case()
|
||||
{
|
||||
my_class c;
|
||||
|
|
|
|||
|
|
@ -14,5 +14,8 @@ struct my_base
|
|||
virtual ~my_base() {}
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(my_class, my_base){ MOCK_METHOD(my_method, 0) };
|
||||
MOCK_BASE_CLASS(my_class, my_base)
|
||||
{
|
||||
MOCK_METHOD(my_method, 0)
|
||||
};
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -17,5 +17,8 @@ struct my_base
|
|||
virtual void my_method(int, int, int, int, int, int, int, int, int, int) = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(my_class, my_base){ MOCK_METHOD(my_method, 10) };
|
||||
MOCK_BASE_CLASS(my_class, my_base)
|
||||
{
|
||||
MOCK_METHOD(my_method, 10)
|
||||
};
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -10,5 +10,8 @@
|
|||
|
||||
namespace {
|
||||
template<typename T>
|
||||
MOCK_CLASS(my_class){ MOCK_METHOD_EXT(my_method, 1, void(T), my_method) };
|
||||
}
|
||||
MOCK_CLASS(my_class)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 1, void(T), my_method)
|
||||
};
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -15,5 +15,8 @@ struct my_base
|
|||
virtual void my_method(int) = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(my_class, my_base){ MOCK_METHOD(my_method, 2) };
|
||||
MOCK_BASE_CLASS(my_class, my_base)
|
||||
{
|
||||
MOCK_METHOD(my_method, 2)
|
||||
};
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -9,7 +9,10 @@
|
|||
#include <turtle/mock.hpp>
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_class){ MOCK_METHOD_EXT(my_method, 1, void(int), my_method) };
|
||||
MOCK_CLASS(my_class)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 1, void(int), my_method)
|
||||
};
|
||||
void test_case()
|
||||
{
|
||||
my_class c;
|
||||
|
|
|
|||
|
|
@ -46,8 +46,11 @@ BOOST_FIXTURE_TEST_CASE(custom_mock_object_without_macros, mock_error_fixture)
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_mock){ MOCK_METHOD_EXT(my_method, 1, int(int), my_tag) };
|
||||
}
|
||||
MOCK_CLASS(my_mock)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 1, int(int), my_tag)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(basic_mock_object_usage, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -82,8 +85,11 @@ public:
|
|||
virtual void my_method(int) = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(my_ambiguited_mock, my_ambiguited_interface){ MOCK_METHOD_EXT(my_method, 0, void(), my_tag1)
|
||||
MOCK_METHOD_EXT(my_method, 1, void(int), my_tag_2) };
|
||||
MOCK_BASE_CLASS(my_ambiguited_mock, my_ambiguited_interface)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 0, void(), my_tag1)
|
||||
MOCK_METHOD_EXT(my_method, 1, void(int), my_tag_2)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_object_method_disambiguation, mock_error_fixture)
|
||||
|
|
@ -103,9 +109,11 @@ public:
|
|||
virtual void my_method() const = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(my_const_ambiguited_mock,
|
||||
my_const_ambiguited_interface){ MOCK_NON_CONST_METHOD_EXT(my_method, 0, void(), tag1)
|
||||
MOCK_CONST_METHOD_EXT(my_method, 0, void(), tag_2) };
|
||||
MOCK_BASE_CLASS(my_const_ambiguited_mock, my_const_ambiguited_interface)
|
||||
{
|
||||
MOCK_NON_CONST_METHOD_EXT(my_method, 0, void(), tag1)
|
||||
MOCK_CONST_METHOD_EXT(my_method, 0, void(), tag_2)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_object_method_const_disambiguation, mock_error_fixture)
|
||||
|
|
@ -118,8 +126,11 @@ BOOST_FIXTURE_TEST_CASE(mock_object_method_const_disambiguation, mock_error_fixt
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_undefined_mock){ MOCK_METHOD_EXT(m, 1, void(undefined&), t) };
|
||||
}
|
||||
MOCK_CLASS(my_undefined_mock)
|
||||
{
|
||||
MOCK_METHOD_EXT(m, 1, void(undefined&), t)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_object_method_with_declared_but_not_defined_parameter_is_valid, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -194,8 +205,8 @@ struct my_template_base_class
|
|||
virtual void my_other_method() = 0;
|
||||
};
|
||||
template<typename T>
|
||||
MOCK_BASE_CLASS(my_template_base_class_mock,
|
||||
my_template_base_class<T>){ MOCK_METHOD_EXT_TPL(my_method, 1, void(T), my_method)
|
||||
MOCK_BASE_CLASS(my_template_base_class_mock, my_template_base_class<T>)
|
||||
{ MOCK_METHOD_EXT_TPL(my_method, 1, void(T), my_method)
|
||||
MOCK_METHOD_EXT_TPL(my_other_method, 0, void(), my_other_method) };
|
||||
} // namespace
|
||||
|
||||
|
|
@ -234,9 +245,15 @@ private:
|
|||
int value_;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(my_mock_observer, my_observer){ MOCK_METHOD(notify, 1) };
|
||||
MOCK_BASE_CLASS(my_mock_observer, my_observer)
|
||||
{
|
||||
MOCK_METHOD(notify, 1)
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(my_mock_manager, my_manager){ MOCK_METHOD(get_observer, 0) };
|
||||
MOCK_BASE_CLASS(my_mock_manager, my_manager)
|
||||
{
|
||||
MOCK_METHOD(get_observer, 0)
|
||||
};
|
||||
|
||||
struct fixture : mock_error_fixture
|
||||
{
|
||||
|
|
@ -259,8 +276,11 @@ BOOST_FIXTURE_TEST_CASE(basic_mock_object_collaboration_usage, fixture)
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_constructed_class){ MOCK_CONSTRUCTOR(my_constructed_class, 2, (int, const std::string&), constructor) };
|
||||
}
|
||||
MOCK_CLASS(my_constructed_class)
|
||||
{
|
||||
MOCK_CONSTRUCTOR(my_constructed_class, 2, (int, const std::string&), constructor)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mocking_a_constructor, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -272,10 +292,9 @@ BOOST_FIXTURE_TEST_CASE(mocking_a_constructor, mock_error_fixture)
|
|||
|
||||
namespace {
|
||||
template<typename T>
|
||||
MOCK_CLASS(my_constructed_template_class){
|
||||
MOCK_CONSTRUCTOR_TPL(my_constructed_template_class, 2, (T, const std::string&), constructor)
|
||||
};
|
||||
}
|
||||
MOCK_CLASS(my_constructed_template_class)
|
||||
{ MOCK_CONSTRUCTOR_TPL(my_constructed_template_class, 2, (T, const std::string&), constructor) };
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mocking_a_template_class_constructor, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -286,8 +305,11 @@ BOOST_FIXTURE_TEST_CASE(mocking_a_template_class_constructor, mock_error_fixture
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_destroyed_class){ MOCK_DESTRUCTOR(~my_destroyed_class, destructor) };
|
||||
}
|
||||
MOCK_CLASS(my_destroyed_class)
|
||||
{
|
||||
MOCK_DESTRUCTOR(~my_destroyed_class, destructor)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mocking_a_destructor, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -327,8 +349,11 @@ BOOST_FIXTURE_TEST_CASE(failed_sequence_in_mocked_destructor_does_not_throw, moc
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(boost_optional){ MOCK_METHOD_EXT(method, 0, boost::optional<my_observer&>(), tag) };
|
||||
}
|
||||
MOCK_CLASS(boost_optional)
|
||||
{
|
||||
MOCK_METHOD_EXT(method, 0, boost::optional<my_observer&>(), tag)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(boost_optional_on_base_class_reference_as_return_type_is_supported, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -527,7 +552,8 @@ namespace {
|
|||
template<typename T1, typename T2>
|
||||
struct my_base
|
||||
{};
|
||||
MOCK_BASE_CLASS(my_comma_mock, my_base<int BOOST_PP_COMMA() int>){};
|
||||
MOCK_BASE_CLASS(my_comma_mock, my_base<int BOOST_PP_COMMA() int>)
|
||||
{};
|
||||
} // namespace
|
||||
|
||||
#ifdef MOCK_THREAD_SAFE
|
||||
|
|
|
|||
|
|
@ -18,7 +18,10 @@ void my_function(T& t)
|
|||
{
|
||||
t.my_method("some parameter");
|
||||
}
|
||||
MOCK_CLASS(mock_class){ MOCK_METHOD_EXT(my_method, 1, void(const std::string&), my_tag) };
|
||||
MOCK_CLASS(mock_class)
|
||||
{
|
||||
MOCK_METHOD_EXT(my_method, 1, void(const std::string&), my_tag)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_object_for_static_polymorphism, mock_error_fixture)
|
||||
|
|
@ -30,8 +33,11 @@ BOOST_FIXTURE_TEST_CASE(mock_object_for_static_polymorphism, mock_error_fixture)
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(mock_class_with_operator){ MOCK_CONST_METHOD_EXT(operator+=, 1, mock_class_with_operator &(int), addition) };
|
||||
}
|
||||
MOCK_CLASS(mock_class_with_operator)
|
||||
{
|
||||
MOCK_CONST_METHOD_EXT(operator+=, 1, mock_class_with_operator &(int), addition)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_addition_operator, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -42,8 +48,11 @@ BOOST_FIXTURE_TEST_CASE(mock_addition_operator, mock_error_fixture)
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(mock_class_with_conversion_operator){ MOCK_CONVERSION_OPERATOR(operator, int, conversion) };
|
||||
}
|
||||
MOCK_CLASS(mock_class_with_conversion_operator)
|
||||
{
|
||||
MOCK_CONVERSION_OPERATOR(operator, int, conversion)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_conversion_operator, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -55,8 +64,9 @@ BOOST_FIXTURE_TEST_CASE(mock_conversion_operator, mock_error_fixture)
|
|||
|
||||
namespace {
|
||||
template<typename T>
|
||||
MOCK_CLASS(mock_template_class_with_conversion_operator){ MOCK_CONVERSION_OPERATOR_TPL(operator, T, conversion) };
|
||||
}
|
||||
MOCK_CLASS(mock_template_class_with_conversion_operator)
|
||||
{ MOCK_CONVERSION_OPERATOR_TPL(operator, T, conversion) };
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_template_conversion_operator, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -67,8 +77,11 @@ BOOST_FIXTURE_TEST_CASE(mock_template_conversion_operator, mock_error_fixture)
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(mock_class_with_const_conversion_operator){ MOCK_CONST_CONVERSION_OPERATOR(operator, int, conversion) };
|
||||
}
|
||||
MOCK_CLASS(mock_class_with_const_conversion_operator)
|
||||
{
|
||||
MOCK_CONST_CONVERSION_OPERATOR(operator, int, conversion)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_const_conversion_operator, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -80,8 +93,11 @@ BOOST_FIXTURE_TEST_CASE(mock_const_conversion_operator, mock_error_fixture)
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(mock_class_with_non_const_conversion_operator){ MOCK_CONST_CONVERSION_OPERATOR(operator, int, conversion) };
|
||||
}
|
||||
MOCK_CLASS(mock_class_with_non_const_conversion_operator)
|
||||
{
|
||||
MOCK_CONST_CONVERSION_OPERATOR(operator, int, conversion)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_non_const_conversion_operator, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -94,10 +110,11 @@ BOOST_FIXTURE_TEST_CASE(mock_non_const_conversion_operator, mock_error_fixture)
|
|||
|
||||
namespace {
|
||||
template<typename T>
|
||||
MOCK_CLASS(mock_template_class_with_const_conversion_operator){
|
||||
MOCK_CLASS(mock_template_class_with_const_conversion_operator)
|
||||
{
|
||||
MOCK_CONST_CONVERSION_OPERATOR_TPL(operator, T, conversion)
|
||||
};
|
||||
}
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_template_const_conversion_operator, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -109,10 +126,11 @@ BOOST_FIXTURE_TEST_CASE(mock_template_const_conversion_operator, mock_error_fixt
|
|||
|
||||
namespace {
|
||||
template<typename T>
|
||||
MOCK_CLASS(mock_template_class_with_non_const_conversion_operator){
|
||||
MOCK_CLASS(mock_template_class_with_non_const_conversion_operator)
|
||||
{
|
||||
MOCK_NON_CONST_CONVERSION_OPERATOR_TPL(operator, T, conversion)
|
||||
};
|
||||
}
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_template_non_const_conversion_operator, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -123,9 +141,12 @@ BOOST_FIXTURE_TEST_CASE(mock_template_non_const_conversion_operator, mock_error_
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(my_mock){ MOCK_CONST_METHOD_EXT(my_method, 1, void(int), my_method)
|
||||
MOCK_CONST_METHOD_EXT(my_method_2, 1, void(int), my_method_2) };
|
||||
}
|
||||
MOCK_CLASS(my_mock)
|
||||
{
|
||||
MOCK_CONST_METHOD_EXT(my_method, 1, void(int), my_method)
|
||||
MOCK_CONST_METHOD_EXT(my_method_2, 1, void(int), my_method_2)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(MOCK_CONST_METHOD_EXT_macro_defines_a_bindable_method, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -297,8 +318,11 @@ BOOST_FIXTURE_TEST_CASE(mock_function_is_named, mock_error_fixture)
|
|||
}
|
||||
|
||||
namespace {
|
||||
MOCK_CLASS(static_function_class){ MOCK_STATIC_METHOD(f, 1, float(int), f) };
|
||||
}
|
||||
MOCK_CLASS(static_function_class)
|
||||
{
|
||||
MOCK_STATIC_METHOD(f, 1, float(int), f)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(mock_static_function_is_named, mock_error_fixture)
|
||||
{
|
||||
|
|
@ -327,20 +351,37 @@ struct base
|
|||
virtual void m11() = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(variadic, base){ MOCK_METHOD(m1, 0) MOCK_METHOD(m2, 0, void()) MOCK_METHOD(m3, 0, void(), m3)
|
||||
MOCK_CONST_METHOD(m10, 0) MOCK_CONST_METHOD(m4, 0, void())
|
||||
MOCK_CONST_METHOD(m5, 0, void(), m5) MOCK_NON_CONST_METHOD(m11, 0)
|
||||
MOCK_NON_CONST_METHOD(m6, 0, void()) MOCK_NON_CONST_METHOD(m7, 0, void(), m7)
|
||||
MOCK_STATIC_METHOD(m8, 0, void()) MOCK_STATIC_METHOD(m9, 0, void(), m9) };
|
||||
MOCK_BASE_CLASS(variadic, base)
|
||||
{
|
||||
MOCK_METHOD(m1, 0)
|
||||
MOCK_METHOD(m2, 0, void())
|
||||
MOCK_METHOD(m3, 0, void(), m3)
|
||||
MOCK_CONST_METHOD(m10, 0)
|
||||
MOCK_CONST_METHOD(m4, 0, void())
|
||||
MOCK_CONST_METHOD(m5, 0, void(), m5)
|
||||
MOCK_NON_CONST_METHOD(m11, 0)
|
||||
MOCK_NON_CONST_METHOD(m6, 0, void())
|
||||
MOCK_NON_CONST_METHOD(m7, 0, void(), m7)
|
||||
MOCK_STATIC_METHOD(m8, 0, void())
|
||||
MOCK_STATIC_METHOD(m9, 0, void(), m9)
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
MOCK_BASE_CLASS(variadic_tpl, base){ MOCK_METHOD(m1, 0, void()) MOCK_METHOD_TPL(m2, 0, T())
|
||||
MOCK_METHOD_TPL(m3, 0, T(), m3) MOCK_CONST_METHOD_TPL(m4, 0, T())
|
||||
MOCK_CONST_METHOD_TPL(m5, 0, T(), m5) MOCK_NON_CONST_METHOD_TPL(m6, 0, T())
|
||||
MOCK_NON_CONST_METHOD_TPL(m7, 0, T(), m7) MOCK_STATIC_METHOD_TPL(m8, 0, T())
|
||||
MOCK_STATIC_METHOD_TPL(m9, 0, T(), m9) };
|
||||
MOCK_BASE_CLASS(variadic_tpl, base)
|
||||
{
|
||||
MOCK_METHOD(m1, 0, void())
|
||||
MOCK_METHOD_TPL(m2, 0, T())
|
||||
MOCK_METHOD_TPL(m3, 0, T(), m3)
|
||||
MOCK_CONST_METHOD_TPL(m4, 0, T())
|
||||
MOCK_CONST_METHOD_TPL(m5, 0, T(), m5)
|
||||
MOCK_NON_CONST_METHOD_TPL(m6, 0, T())
|
||||
MOCK_NON_CONST_METHOD_TPL(m7, 0, T(), m7)
|
||||
MOCK_STATIC_METHOD_TPL(m8, 0, T())
|
||||
MOCK_STATIC_METHOD_TPL(m9, 0, T(), m9)
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(comma_base, std::map<int, int>){};
|
||||
MOCK_BASE_CLASS(comma_base, std::map<int, int>)
|
||||
{};
|
||||
|
||||
MOCK_FUNCTION(fun1, 0, void())
|
||||
MOCK_FUNCTION(fun2, 0, void(), fun2)
|
||||
|
|
@ -359,10 +400,16 @@ struct base
|
|||
virtual void m1() = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(derived, base){ MOCK_METHOD(m1, 0) };
|
||||
MOCK_BASE_CLASS(derived, base)
|
||||
{
|
||||
MOCK_METHOD(m1, 0)
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
MOCK_BASE_CLASS(derived_tpl, base){ MOCK_METHOD_EXT(m1, 0, void(), m1) };
|
||||
MOCK_BASE_CLASS(derived_tpl, base)
|
||||
{
|
||||
MOCK_METHOD_EXT(m1, 0, void(), m1)
|
||||
};
|
||||
} // namespace
|
||||
|
||||
#endif // MOCK_VARIADIC_MACROS
|
||||
|
|
@ -381,7 +428,9 @@ struct base
|
|||
virtual void MOCK_STDCALL m1() = 0;
|
||||
};
|
||||
|
||||
MOCK_BASE_CLASS(derived, base){ MOCK_CONSTRUCTOR(MOCK_STDCALL derived, 0, (), derived)
|
||||
MOCK_BASE_CLASS(derived, base)
|
||||
{
|
||||
MOCK_CONSTRUCTOR(MOCK_STDCALL derived, 0, (), derived)
|
||||
MOCK_DESTRUCTOR(MOCK_STDCALL ~derived, derived)
|
||||
MOCK_CONVERSION_OPERATOR(MOCK_STDCALL operator, int, to_int)
|
||||
MOCK_METHOD_EXT(MOCK_STDCALL m1, 0, void(), m1)
|
||||
|
|
@ -389,7 +438,8 @@ MOCK_BASE_CLASS(derived, base){ MOCK_CONSTRUCTOR(MOCK_STDCALL derived, 0, (), de
|
|||
#ifdef MOCK_VARIADIC_MACROS
|
||||
MOCK_METHOD(MOCK_STDCALL m3, 0, void(), m3)
|
||||
#endif
|
||||
MOCK_STATIC_METHOD(MOCK_STDCALL m4, 0, void(), m4) };
|
||||
MOCK_STATIC_METHOD(MOCK_STDCALL m4, 0, void(), m4)
|
||||
};
|
||||
|
||||
MOCK_FUNCTION(MOCK_STDCALL f, 0, void(), f)
|
||||
} // namespace stdcall
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue