mirror of
https://github.com/mat007/turtle.git
synced 2026-06-22 12:13:43 +00:00
Fixed maximum number of mocked methods arguments
git-svn-id: https://svn.code.sf.net/p/turtle/code/trunk@122 860be788-9bd5-4423-9f1e-828f051e677b
This commit is contained in:
parent
0e8079d47a
commit
058397d415
5 changed files with 9 additions and 6 deletions
|
|
@ -11,11 +11,13 @@
|
|||
|
||||
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||
#include <boost/preprocessor/debug/assert.hpp>
|
||||
#include <boost/preprocessor/inc.hpp>
|
||||
#include <boost/function.hpp>
|
||||
|
||||
#ifndef MOCK_MAX_ARGS
|
||||
# define MOCK_MAX_ARGS 10
|
||||
#endif // MOCK_MAX_ARGS
|
||||
#endif
|
||||
#define MOCK_NUM_ARGS BOOST_PP_INC(MOCK_MAX_ARGS)
|
||||
|
||||
BOOST_PP_ASSERT( BOOST_PP_LESS_EQUAL(MOCK_MAX_ARGS, BOOST_FUNCTION_MAX_ARGS) )
|
||||
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ namespace mock
|
|||
{ \
|
||||
return (*impl_)( BOOST_PP_ENUM_PARAMS(n, a) ); \
|
||||
}
|
||||
BOOST_PP_REPEAT_FROM_TO(1, MOCK_MAX_ARGS, MOCK_EXPECTATION_OPERATOR, BOOST_PP_EMPTY)
|
||||
BOOST_PP_REPEAT_FROM_TO(1, MOCK_NUM_ARGS, MOCK_EXPECTATION_OPERATOR, BOOST_PP_EMPTY)
|
||||
#undef MOCK_EXPECTATION_OPERATOR
|
||||
|
||||
friend std::ostream& operator<<( std::ostream& s, const expectation& e )
|
||||
|
|
@ -228,7 +228,7 @@ namespace mock
|
|||
ErrorPolicy::no_match( context( MOCK_EXPECTATION_PARAMETERS(n) ) ); \
|
||||
return ErrorPolicy::abort(); \
|
||||
}
|
||||
BOOST_PP_REPEAT_FROM_TO(1, MOCK_MAX_ARGS, MOCK_EXPECTATION_OPERATOR, BOOST_PP_EMPTY)
|
||||
BOOST_PP_REPEAT_FROM_TO(1, MOCK_NUM_ARGS, MOCK_EXPECTATION_OPERATOR, BOOST_PP_EMPTY)
|
||||
#undef MOCK_EXPECTATION_PARAMETER
|
||||
#undef MOCK_EXPECTATION_PARAMETERS
|
||||
#undef MOCK_EXPECTATION_DETAIL
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ namespace detail
|
|||
private: \
|
||||
BOOST_PP_REPEAT_FROM_TO(0, n, MOCK_MATCHER_MEMBER, BOOST_PP_EMPTY) \
|
||||
};
|
||||
BOOST_PP_REPEAT_FROM_TO(1, MOCK_MAX_ARGS, MOCK_MATCHER, BOOST_PP_EMPTY)
|
||||
BOOST_PP_REPEAT_FROM_TO(1, MOCK_NUM_ARGS, MOCK_MATCHER, BOOST_PP_EMPTY)
|
||||
|
||||
#undef MOCK_MATCHER_METHODS
|
||||
#undef MOCK_MATCHER_TYPEDEF
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ namespace detail
|
|||
{ \
|
||||
throw std::logic_error( "should never be called" ); \
|
||||
}
|
||||
BOOST_PP_REPEAT_FROM_TO(0, MOCK_MAX_ARGS, MOCK_CALL, BOOST_PP_EMPTY)
|
||||
BOOST_PP_REPEAT_FROM_TO(0, MOCK_NUM_ARGS, MOCK_CALL, BOOST_PP_EMPTY)
|
||||
#undef MOCK_CALL
|
||||
#undef MOCK_CALL_INVALID_TYPE
|
||||
#undef MOCK_CALL_PARAM
|
||||
|
|
@ -307,7 +307,7 @@ namespace detail
|
|||
// alternate experimental macros below, way too slow to compile to be really usable
|
||||
|
||||
#define MOCK_METHOD_STUB_ALT(M, S, t, c, tpn) \
|
||||
BOOST_PP_REPEAT_FROM_TO(0, MOCK_MAX_ARGS, MOCK_METHOD_STUB_PROXY, (5,(M, S, t, c, tpn)))
|
||||
BOOST_PP_REPEAT_FROM_TO(0, MOCK_NUM_ARGS, MOCK_METHOD_STUB_PROXY, (5,(M, S, t, c, tpn)))
|
||||
|
||||
#define MOCK_METHOD_EXT_ALT(M, S, t) \
|
||||
MOCK_METHOD_STUB_ALT(M, S, t,,) \
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ namespace
|
|||
struct my_custom_mock
|
||||
{
|
||||
MOCK_METHOD_EXT( my_method, 0, void(), my_method )
|
||||
MOCK_METHOD_EXT( my_method_with_max_number_of_args, MOCK_MAX_ARGS, void( int, int, int, int, int, int, int, int, int, int ), my_method_with_max_number_of_args )
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue