Forced MOCK_ERROR_POLICY to mock_error across all tests to prevent ODR violation

git-svn-id: https://svn.code.sf.net/p/turtle/code/trunk@697 860be788-9bd5-4423-9f1e-828f051e677b
This commit is contained in:
mat007 2013-11-13 09:42:55 +00:00
parent dbf430692d
commit 0609c6c1fa
10 changed files with 312 additions and 247 deletions

View file

@ -6,6 +6,7 @@
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#include "mock_error.hpp"
#include <turtle/mock.hpp>
#include <boost/test/auto_unit_test.hpp>
#include <boost/mpl/assert.hpp>
@ -25,11 +26,12 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_object_for_static_polymorphism )
BOOST_FIXTURE_TEST_CASE( mock_object_for_static_polymorphism, mock_error_fixture )
{
const mock_class m;
MOCK_EXPECT( m.my_tag ).once().with( "some parameter" );
my_function( m );
CHECK_CALLS( 1 );
}
namespace
@ -40,11 +42,12 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_addition_operator )
BOOST_FIXTURE_TEST_CASE( mock_addition_operator, mock_error_fixture )
{
mock_class_with_operator m;
MOCK_EXPECT( m.addition ).once().returns( boost::ref( m ) );
m += 1;
CHECK_CALLS( 1 );
}
namespace
@ -55,11 +58,12 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_conversion_operator )
BOOST_FIXTURE_TEST_CASE( mock_conversion_operator, mock_error_fixture )
{
mock_class_with_conversion_operator m;
MOCK_EXPECT( m.conversion ).once().returns( 42 );
BOOST_CHECK_EQUAL( 42, static_cast< int >( m ) );
CHECK_CALLS( 1 );
}
namespace
@ -71,11 +75,12 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_template_conversion_operator )
BOOST_FIXTURE_TEST_CASE( mock_template_conversion_operator, mock_error_fixture )
{
mock_template_class_with_conversion_operator< int > m;
MOCK_EXPECT( m.conversion ).once().returns( 42 );
BOOST_CHECK_EQUAL( 42, static_cast< int >( m ) );
CHECK_CALLS( 1 );
}
namespace
@ -86,12 +91,13 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_const_conversion_operator )
BOOST_FIXTURE_TEST_CASE( mock_const_conversion_operator, mock_error_fixture )
{
mock_class_with_const_conversion_operator m;
MOCK_EXPECT( m.conversion ).once().returns( 42 );
int i = m;
BOOST_CHECK_EQUAL( 42, i );
CHECK_CALLS( 1 );
}
namespace
@ -102,12 +108,13 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_non_const_conversion_operator )
BOOST_FIXTURE_TEST_CASE( mock_non_const_conversion_operator, mock_error_fixture )
{
mock_class_with_non_const_conversion_operator m;
MOCK_EXPECT( m.conversion ).once().returns( 42 );
int i = m;
BOOST_CHECK_EQUAL( 42, i );
CHECK_CALLS( 1 );
}
namespace
@ -119,11 +126,12 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_template_const_conversion_operator )
BOOST_FIXTURE_TEST_CASE( mock_template_const_conversion_operator, mock_error_fixture )
{
mock_template_class_with_const_conversion_operator< int > m;
MOCK_EXPECT( m.conversion ).once().returns( 42 );
BOOST_CHECK_EQUAL( 42, static_cast< int >( m ) );
CHECK_CALLS( 1 );
}
namespace
@ -135,11 +143,12 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_template_non_const_conversion_operator )
BOOST_FIXTURE_TEST_CASE( mock_template_non_const_conversion_operator, mock_error_fixture )
{
mock_template_class_with_non_const_conversion_operator< int > m;
MOCK_EXPECT( m.conversion ).once().returns( 42 );
BOOST_CHECK_EQUAL( 42, static_cast< int >( m ) );
CHECK_CALLS( 1 );
}
namespace
@ -151,29 +160,30 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( MOCK_CONST_METHOD_EXT_macro_defines_a_bindable_method )
BOOST_FIXTURE_TEST_CASE( MOCK_CONST_METHOD_EXT_macro_defines_a_bindable_method, mock_error_fixture )
{
my_mock m;
boost::bind( &my_mock::my_method, &m, 42 );
}
BOOST_AUTO_TEST_CASE( MOCK_VERIFY_macro )
BOOST_FIXTURE_TEST_CASE( MOCK_VERIFY_macro, mock_error_fixture )
{
my_mock m;
MOCK_VERIFY( m.my_method );
}
BOOST_AUTO_TEST_CASE( MOCK_RESET_macro )
BOOST_FIXTURE_TEST_CASE( MOCK_RESET_macro, mock_error_fixture )
{
my_mock m;
MOCK_RESET( m.my_method );
}
BOOST_AUTO_TEST_CASE( MOCK_EXPECT_macro )
BOOST_FIXTURE_TEST_CASE( MOCK_EXPECT_macro, mock_error_fixture )
{
my_mock m;
MOCK_EXPECT( m.my_method ).once().with( 42 );
m.my_method( 42 );
CHECK_CALLS( 1 );
}
namespace
@ -187,7 +197,7 @@ namespace
}
}
BOOST_AUTO_TEST_CASE( mock_object_is_named )
BOOST_FIXTURE_TEST_CASE( mock_object_is_named, mock_error_fixture )
{
my_mock m;
BOOST_CHECK_EQUAL( "?.my_mock::my_method", to_string( MOCK_ANONYMOUS_HELPER( m.my_method ) ) );
@ -198,7 +208,7 @@ BOOST_AUTO_TEST_CASE( mock_object_is_named )
BOOST_CHECK_EQUAL( "m.my_mock::my_method", to_string( MOCK_HELPER( m.my_method ) ) );
}
BOOST_AUTO_TEST_CASE( mock_object_auto_pointer_is_named )
BOOST_FIXTURE_TEST_CASE( mock_object_auto_pointer_is_named, mock_error_fixture )
{
std::auto_ptr< my_mock > m( new my_mock );
BOOST_CHECK_EQUAL( "?.my_mock::my_method", to_string( MOCK_ANONYMOUS_HELPER( m->my_method ) ) );
@ -207,7 +217,7 @@ BOOST_AUTO_TEST_CASE( mock_object_auto_pointer_is_named )
BOOST_CHECK_EQUAL( "m->my_mock::my_method", to_string( MOCK_HELPER( m->my_method ) ) );
}
BOOST_AUTO_TEST_CASE( mock_object_const_auto_pointer_is_named )
BOOST_FIXTURE_TEST_CASE( mock_object_const_auto_pointer_is_named, mock_error_fixture )
{
const std::auto_ptr< my_mock > m( new my_mock );
BOOST_CHECK_EQUAL( "?.my_mock::my_method", to_string( MOCK_ANONYMOUS_HELPER( m->my_method ) ) );
@ -216,7 +226,7 @@ BOOST_AUTO_TEST_CASE( mock_object_const_auto_pointer_is_named )
BOOST_CHECK_EQUAL( "m->my_mock::my_method", to_string( MOCK_HELPER( m->my_method ) ) );
}
BOOST_AUTO_TEST_CASE( mock_object_shared_pointer_is_named )
BOOST_FIXTURE_TEST_CASE( mock_object_shared_pointer_is_named, mock_error_fixture )
{
boost::shared_ptr< my_mock > m( new my_mock );
BOOST_CHECK_EQUAL( "?.my_mock::my_method", to_string( MOCK_ANONYMOUS_HELPER( m->my_method ) ) );
@ -225,7 +235,7 @@ BOOST_AUTO_TEST_CASE( mock_object_shared_pointer_is_named )
BOOST_CHECK_EQUAL( "m->my_mock::my_method", to_string( MOCK_HELPER( m->my_method ) ) );
}
BOOST_AUTO_TEST_CASE( mock_object_const_shared_pointer_is_named )
BOOST_FIXTURE_TEST_CASE( mock_object_const_shared_pointer_is_named, mock_error_fixture )
{
const boost::shared_ptr< my_mock > m( new my_mock );
BOOST_CHECK_EQUAL( "?.my_mock::my_method", to_string( MOCK_ANONYMOUS_HELPER( m->my_method ) ) );
@ -243,7 +253,7 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( custom_mock_object_without_macros_and_without_inheriting_from_object_is_named )
BOOST_FIXTURE_TEST_CASE( custom_mock_object_without_macros_and_without_inheriting_from_object_is_named, mock_error_fixture )
{
my_custom_mock m;
BOOST_CHECK_EQUAL( "?.my_custom_mock::my_tag", to_string( MOCK_ANONYMOUS_HELPER( m.my_tag ) ) );
@ -263,7 +273,7 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( custom_mock_object_without_macros_is_named )
BOOST_FIXTURE_TEST_CASE( custom_mock_object_without_macros_is_named, mock_error_fixture )
{
my_custom_mock_object m;
BOOST_CHECK_EQUAL( "?.my_custom_mock_object::my_tag", to_string( MOCK_ANONYMOUS_HELPER( m.my_tag ) ) );
@ -274,7 +284,7 @@ BOOST_AUTO_TEST_CASE( custom_mock_object_without_macros_is_named )
BOOST_CHECK_EQUAL( "m.my_custom_mock_object::my_tag", to_string( MOCK_HELPER( m.my_tag ) ) );
}
BOOST_AUTO_TEST_CASE( mock_functor )
BOOST_FIXTURE_TEST_CASE( mock_functor, mock_error_fixture )
{
MOCK_FUNCTOR( f1, void() );
MOCK_FUNCTOR( f2, int( const std::string& ) );
@ -289,21 +299,21 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_functor_reset )
BOOST_FIXTURE_TEST_CASE( mock_functor_reset, mock_error_fixture )
{
MOCK_FUNCTOR( f, void() );
MOCK_RESET( f );
mock::reset( f );
}
BOOST_AUTO_TEST_CASE( mock_functor_verify )
BOOST_FIXTURE_TEST_CASE( mock_functor_verify, mock_error_fixture )
{
MOCK_FUNCTOR( f, void() );
MOCK_VERIFY( f );
mock::verify( f );
}
BOOST_AUTO_TEST_CASE( mock_functor_is_named )
BOOST_FIXTURE_TEST_CASE( mock_functor_is_named, mock_error_fixture )
{
MOCK_FUNCTOR( f, void() );
BOOST_CHECK_EQUAL( "f", to_string( MOCK_HELPER( f ) ) );
@ -314,7 +324,7 @@ namespace
MOCK_FUNCTION( mock_function, 1, float( int ), mock_function )
}
BOOST_AUTO_TEST_CASE( mock_function_is_named )
BOOST_FIXTURE_TEST_CASE( mock_function_is_named, mock_error_fixture )
{
BOOST_CHECK_EQUAL( "mock_function", to_string( MOCK_HELPER( mock_function ) ) );
}
@ -327,7 +337,7 @@ namespace
};
}
BOOST_AUTO_TEST_CASE( mock_static_function_is_named )
BOOST_FIXTURE_TEST_CASE( mock_static_function_is_named, mock_error_fixture )
{
BOOST_CHECK_EQUAL( "static_function_class::f", to_string( MOCK_HELPER( static_function_class::f ) ) );
}