Added concept checks

git-svn-id: https://svn.code.sf.net/p/turtle/code/trunk@129 860be788-9bd5-4423-9f1e-828f051e677b
This commit is contained in:
mat007 2010-02-21 15:08:53 +00:00
parent 1167f2afca
commit f02dd801b5
4 changed files with 89 additions and 50 deletions

View file

@ -48,21 +48,21 @@ BOOST_AUTO_TEST_CASE( same )
int i = 0;
int j = 0;
BOOST_CHECK_EQUAL( i, j );
BOOST_CHECK( ! mock::same( i ).functor_( j ) );
BOOST_CHECK( mock::same( i ).functor_( i ) );
BOOST_CHECK( ! mock::same( i ).constraint_( j ) );
BOOST_CHECK( mock::same( i ).constraint_( i ) );
}
BOOST_AUTO_TEST_CASE( assign )
{
{
int i = 0;
BOOST_CHECK( mock::assign( 3 ).functor_( i ) );
BOOST_CHECK( mock::assign( 3 ).constraint_( i ) );
BOOST_CHECK_EQUAL( 3, i );
}
{
const int* i = 0;
const int j = 1;
BOOST_CHECK( mock::assign( &j ).functor_( i ) );
BOOST_CHECK( mock::assign( &j ).constraint_( i ) );
BOOST_CHECK_EQUAL( i, &j );
}
}
@ -72,49 +72,49 @@ BOOST_AUTO_TEST_CASE( retrieve )
{
int i = 0;
const int j = 1;
BOOST_CHECK( mock::retrieve( i ).functor_( j ) );
BOOST_CHECK( mock::retrieve( i ).constraint_( j ) );
BOOST_CHECK_EQUAL( i, j );
}
{
int* i = 0;
int j = 1;
BOOST_CHECK( mock::retrieve( i ).functor_( &j ) );
BOOST_CHECK( mock::retrieve( i ).constraint_( &j ) );
BOOST_CHECK_EQUAL( i, &j );
}
{
const int* i = 0;
const int j = 1;
BOOST_CHECK( mock::retrieve( i ).functor_( j ) );
BOOST_CHECK( mock::retrieve( i ).constraint_( j ) );
BOOST_CHECK_EQUAL( i, &j );
}
{
const int* i = 0;
int j = 1;
BOOST_CHECK( mock::retrieve( i ).functor_( j ) );
BOOST_CHECK( mock::retrieve( i ).constraint_( j ) );
BOOST_CHECK_EQUAL( i, &j );
}
{
int* i = 0;
int j = 1;
BOOST_CHECK( mock::retrieve( i ).functor_( j ) );
BOOST_CHECK( mock::retrieve( i ).constraint_( j ) );
BOOST_CHECK_EQUAL( i, &j );
}
{
const int* i = 0;
const int j = 1;
BOOST_CHECK( mock::retrieve( i ).functor_( j ) );
BOOST_CHECK( mock::retrieve( i ).constraint_( j ) );
BOOST_CHECK_EQUAL( i, &j );
}
{
int** i = 0;
int* j = 0;
BOOST_CHECK( mock::retrieve( i ).functor_( j ) );
BOOST_CHECK( mock::retrieve( i ).constraint_( j ) );
BOOST_CHECK_EQUAL( i, &j );
}
{
const int** i = 0;
const int* j = 0;
BOOST_CHECK( mock::retrieve( i ).functor_( j ) );
BOOST_CHECK( mock::retrieve( i ).constraint_( j ) );
BOOST_CHECK_EQUAL( i, &j );
}
}
@ -137,15 +137,15 @@ BOOST_AUTO_TEST_CASE( retrieve_uses_assignment_operator )
{
B b;
const A a = A();
mock::retrieve( b ).functor_( a );
mock::retrieve( b ).constraint_( a );
}
BOOST_AUTO_TEST_CASE( negate )
{
int* i = 0;
int j;
BOOST_CHECK( mock::negate.functor_( i ) );
BOOST_CHECK( ! mock::negate.functor_( &j ) );
BOOST_CHECK( mock::negate.constraint_( i ) );
BOOST_CHECK( ! mock::negate.constraint_( &j ) );
}
namespace
@ -162,12 +162,12 @@ namespace
BOOST_AUTO_TEST_CASE( evaluate )
{
BOOST_CHECK( mock::evaluate.functor_( &return_true ) );
BOOST_CHECK( ! mock::evaluate.functor_( &return_false ) );
BOOST_CHECK( mock::evaluate.constraint_( &return_true ) );
BOOST_CHECK( ! mock::evaluate.constraint_( &return_false ) );
}
BOOST_AUTO_TEST_CASE( contain )
{
BOOST_CHECK( mock::contain( "string" ).functor_( "this is a string" ) );
BOOST_CHECK( ! mock::contain( "not found" ).functor_( "this is a string" ) );
BOOST_CHECK( mock::contain( "string" ).constraint_( "this is a string" ) );
BOOST_CHECK( ! mock::contain( "not found" ).constraint_( "this is a string" ) );
}