mirror of
https://github.com/mat007/turtle.git
synced 2026-06-22 12:13:43 +00:00
Added a macro to help mocking a destructor
git-svn-id: https://svn.code.sf.net/p/turtle/code/trunk@66 860be788-9bd5-4423-9f1e-828f051e677b
This commit is contained in:
parent
6354375b7e
commit
51379e7844
2 changed files with 18 additions and 0 deletions
|
|
@ -196,6 +196,10 @@ namespace detail
|
||||||
#define MOCK_METHOD_TPL(M, n) \
|
#define MOCK_METHOD_TPL(M, n) \
|
||||||
MOCK_METHOD_EXT_TPL(M, n, MOCK_SIGNATURE_TPL(M), M)
|
MOCK_METHOD_EXT_TPL(M, n, MOCK_SIGNATURE_TPL(M), M)
|
||||||
|
|
||||||
|
#define MOCK_DESTRUCTOR( T, t ) \
|
||||||
|
~T() { exp##t(); } \
|
||||||
|
MOCK_METHOD_EXPECTATION(void(), t)
|
||||||
|
|
||||||
#define MOCK_EXPECT(o,t) MOCK_MOCKER(o,t).expect( __FILE__, __LINE__ )
|
#define MOCK_EXPECT(o,t) MOCK_MOCKER(o,t).expect( __FILE__, __LINE__ )
|
||||||
#define MOCK_RESET(o,t) MOCK_MOCKER(o,t).reset()
|
#define MOCK_RESET(o,t) MOCK_MOCKER(o,t).reset()
|
||||||
#define MOCK_VERIFY(o,t) MOCK_MOCKER(o,t).verify()
|
#define MOCK_VERIFY(o,t) MOCK_MOCKER(o,t).verify()
|
||||||
|
|
|
||||||
|
|
@ -202,3 +202,17 @@ BOOST_AUTO_TEST_CASE( mock_functor_with_tag_has_no_effect )
|
||||||
f.tag( "my functor" );
|
f.tag( "my functor" );
|
||||||
BOOST_CHECK_EQUAL( "f", to_string( MOCK_MOCKER( f, _ ) ) );
|
BOOST_CHECK_EQUAL( "f", to_string( MOCK_MOCKER( f, _ ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
MOCK_CLASS( my_destroyed_class )
|
||||||
|
{
|
||||||
|
MOCK_DESTRUCTOR( my_destroyed_class, destructor )
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE( mocking_a_destructor )
|
||||||
|
{
|
||||||
|
my_destroyed_class c;
|
||||||
|
MOCK_EXPECT( c, destructor ).once();
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue