mirror of
https://github.com/mat007/turtle.git
synced 2026-06-22 12:13:43 +00:00
Refactoring
git-svn-id: https://svn.code.sf.net/p/turtle/code/trunk@317 860be788-9bd5-4423-9f1e-828f051e677b
This commit is contained in:
parent
14e80c37dc
commit
f4127636d5
3 changed files with 31 additions and 30 deletions
|
|
@ -186,10 +186,6 @@
|
||||||
RelativePath="..\..\src\applications\turtle_bench\turtle_bench.cpp"
|
RelativePath="..\..\src\applications\turtle_bench\turtle_bench.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\applications\turtle_bench\turtle_bench.hpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
</Filter>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,24 @@
|
||||||
// http://www.boost.org/LICENSE_1_0.txt)
|
// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#ifndef MOCK_BENCH_NUMBER_OF_METHODS
|
||||||
|
#define MOCK_BENCH_NUMBER_OF_METHODS 30
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MOCK_BENCH_NUMBER_OF_ARGS
|
||||||
|
#define MOCK_BENCH_NUMBER_OF_ARGS 9
|
||||||
|
#endif
|
||||||
|
//#define MOCK_MAX_ARGS MOCK_BENCH_NUMBER_OF_ARGS
|
||||||
|
|
||||||
|
#ifndef MOCK_BENCH_NUMBER_OF_CLASSES
|
||||||
|
#define MOCK_BENCH_NUMBER_OF_CLASSES 20
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <turtle/mock.hpp>
|
#include <turtle/mock.hpp>
|
||||||
#include <boost/preprocessor/iteration/iterate.hpp>
|
#include <boost/preprocessor/repetition/repeat.hpp>
|
||||||
|
|
||||||
#define F(z, n, d) virtual void f##n() = 0;
|
#define MOCK_BENCH_IDENTITY(z, n, d) d
|
||||||
|
#define MOCK_BENCH_METHOD(z, n, d) virtual void f##n( d ) = 0;
|
||||||
#define NUMBER_OF_METHODS 20
|
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
|
@ -19,13 +31,23 @@ namespace
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual ~base_class() {}
|
virtual ~base_class() {}
|
||||||
BOOST_PP_REPEAT_FROM_TO(0, NUMBER_OF_METHODS, F, )
|
BOOST_PP_REPEAT(MOCK_BENCH_NUMBER_OF_METHODS, MOCK_BENCH_METHOD, BOOST_PP_ENUM(MOCK_BENCH_NUMBER_OF_ARGS, MOCK_BENCH_IDENTITY, int))
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#define BOOST_PP_FILENAME_1 "turtle_bench.hpp"
|
#define MOCK_BENCH_MOCK_METHOD(z, n, d) MOCK_METHOD( f##n, MOCK_BENCH_NUMBER_OF_ARGS )
|
||||||
#define BOOST_PP_ITERATION_LIMITS (1, 10)
|
#define MOCK_BENCH_BASE_CLASS(z, n, d) \
|
||||||
#include BOOST_PP_ITERATE()
|
MOCK_BASE_CLASS( BOOST_PP_CAT( mock_class, n ), base_class ) \
|
||||||
|
{ \
|
||||||
|
BOOST_PP_REPEAT(MOCK_BENCH_NUMBER_OF_METHODS, MOCK_BENCH_MOCK_METHOD,) \
|
||||||
|
};
|
||||||
|
|
||||||
|
BOOST_PP_REPEAT(MOCK_BENCH_NUMBER_OF_CLASSES, MOCK_BENCH_BASE_CLASS,)
|
||||||
|
|
||||||
|
#define MOCK_BENCH_INSTANTIATION(z, n, d) mock_class##n c##n;
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{}
|
{
|
||||||
|
BOOST_PP_REPEAT(MOCK_BENCH_NUMBER_OF_CLASSES, MOCK_BENCH_INSTANTIATION,)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
//
|
|
||||||
// Copyright Mathieu Champlon 2010
|
|
||||||
//
|
|
||||||
// Distributed under the Boost Software License, Version 1.0. (See
|
|
||||||
// accompanying file LICENSE_1_0.txt or copy at
|
|
||||||
// http://www.boost.org/LICENSE_1_0.txt)
|
|
||||||
//
|
|
||||||
|
|
||||||
//#pragma message( BOOST_PP_STRINGIZE( BOOST_PP_CAT( mock_class, BOOST_PP_ITERATION() ) ) )
|
|
||||||
|
|
||||||
#define MOCK_F(z, n, d) MOCK_METHOD( f##n, 0 )
|
|
||||||
//#define MOCK_F(z, n, d) MOCK_METHOD_ALT( f##n )
|
|
||||||
|
|
||||||
MOCK_BASE_CLASS( BOOST_PP_CAT( mock_class, BOOST_PP_ITERATION() ), base_class )
|
|
||||||
{
|
|
||||||
BOOST_PP_REPEAT_FROM_TO(0, NUMBER_OF_METHODS, MOCK_F, )
|
|
||||||
};
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue