Change the hash tests to use the lightweight test header.

[SVN r32784]
This commit is contained in:
Daniel James
2006-02-09 19:16:08 +00:00
parent 514757c312
commit 4bee159a10
23 changed files with 412 additions and 273 deletions

View File

@@ -12,8 +12,7 @@
# include <boost/functional/hash/hash.hpp>
#endif
#define BOOST_TEST_MAIN
#include <boost/test/unit_test.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <boost/limits.hpp>
#include <boost/mpl/assert.hpp>
@@ -26,7 +25,7 @@ void void_func2() { static int x = 2; --x; }
int int_func1(int) { return 0; }
int int_func2(int) { return 1; }
BOOST_AUTO_TEST_CASE(function_pointer_tests)
void function_pointer_tests()
{
compile_time_tests((void(**)()) 0);
compile_time_tests((int(**)(int)) 0);
@@ -34,24 +33,31 @@ BOOST_AUTO_TEST_CASE(function_pointer_tests)
HASH_NAMESPACE::hash<void(*)()> hasher_void;
HASH_NAMESPACE::hash<int(*)(int)> hasher_int;
BOOST_CHECK(&void_func1 != &void_func2);
BOOST_CHECK(&int_func1 != &int_func2);
BOOST_TEST(&void_func1 != &void_func2);
BOOST_TEST(&int_func1 != &int_func2);
BOOST_CHECK(hasher_void(0) == hasher_void(0));
BOOST_CHECK(hasher_void(&void_func1) == hasher_void(&void_func1));
BOOST_CHECK(hasher_void(&void_func1) != hasher_void(&void_func2));
BOOST_CHECK(hasher_void(&void_func1) != hasher_void(0));
BOOST_CHECK(hasher_int(0) == hasher_int(0));
BOOST_CHECK(hasher_int(&int_func1) == hasher_int(&int_func1));
BOOST_CHECK(hasher_int(&int_func1) != hasher_int(&int_func2));
BOOST_CHECK(hasher_int(&int_func1) != hasher_int(0));
BOOST_TEST(hasher_void(0) == hasher_void(0));
BOOST_TEST(hasher_void(&void_func1) == hasher_void(&void_func1));
BOOST_TEST(hasher_void(&void_func1) != hasher_void(&void_func2));
BOOST_TEST(hasher_void(&void_func1) != hasher_void(0));
BOOST_TEST(hasher_int(0) == hasher_int(0));
BOOST_TEST(hasher_int(&int_func1) == hasher_int(&int_func1));
BOOST_TEST(hasher_int(&int_func1) != hasher_int(&int_func2));
BOOST_TEST(hasher_int(&int_func1) != hasher_int(0));
#if defined(TEST_EXTENSIONS)
BOOST_CHECK(hasher_void(&void_func1)
BOOST_TEST(hasher_void(&void_func1)
== HASH_NAMESPACE::hash_value(&void_func1));
BOOST_CHECK(hasher_int(&int_func1)
BOOST_TEST(hasher_int(&int_func1)
== HASH_NAMESPACE::hash_value(&int_func1));
// This isn't specified in Peter's proposal:
BOOST_CHECK(hasher_void(0) == 0);
BOOST_TEST(hasher_void(0) == 0);
#endif
}
int main()
{
function_pointer_tests();
return boost::report_errors();
}