Improved support for testing on older versions of gcc.

Link tests.
Plus more...


[SVN r2980]
This commit is contained in:
Daniel James committed 2006-06-11 19:42:55 +00:00
1 parent 653a58f39b
commit 58dda15273
11 files changed
+222 -23

No files matched your search

+2 -2
View File
@@ -14,8 +14,8 @@
namespace test
{
template <class T>
bool equivalent_impl(T const& x, T const& y) {
template <class T1, class T2>
bool equivalent_impl(T1 const& x, T2 const& y) {
return x == y;
}
+2
View File
@@ -6,6 +6,8 @@
#if !defined(BOOST_UNORDERED_TEST_HELPERS_FWD_HEADER)
#define BOOST_UNORDERED_TEST_HELPERS_FWD_HEADER
#include <string>
namespace test
{
int generate(int const*);
+9 -3
View File
@@ -36,15 +36,19 @@ namespace test
inline int generate(int const*)
{
integer_generator_type gen;
boost::uniform_int<> dist(0, 1000);
static boost::variate_generator<integer_generator_type, boost::uniform_int<> >
vg((integer_generator_type()), boost::uniform_int<>(0, 1000));
vg(gen, dist);
return vg();
}
inline char generate(char const*)
{
integer_generator_type gen;
boost::uniform_int<char> dist(32, 128);
static boost::variate_generator<integer_generator_type, boost::uniform_int<char> >
vg((integer_generator_type()), boost::uniform_int<char>(32, 128));
vg(gen, dist);
return vg();
}
@@ -70,8 +74,10 @@ namespace test
float generate(float const*)
{
real_generator_type gen;
boost::uniform_real<float> dist;
static boost::variate_generator<real_generator_type, boost::uniform_real<float> >
vg((real_generator_type()), boost::uniform_real<float>());
vg(gen, dist);
return vg();
}
+1 -1
View File
@@ -80,7 +80,7 @@ namespace test
// Finally, check that size matches up.
if(x1.size() != size)
BOOST_ERROR("x1.size() doesn't match actual size.");
if(static_cast<float>(size) / x1.bucket_count() != x1.load_factor())
if(static_cast<float>(size) / static_cast<float>(x1.bucket_count()) != x1.load_factor())
BOOST_ERROR("x1.load_factor() doesn't match actual load_factor.");
}
}
+5 -2
View File
@@ -19,6 +19,7 @@
#include "../objects/fwd.hpp"
#include "./metafunctions.hpp"
#include "./helpers.hpp"
#include "./equivalent.hpp"
namespace test
{
@@ -45,7 +46,8 @@ namespace test
std::copy(x2.begin(), x2.end(), std::back_inserter(values2));
std::sort(values1.begin(), values1.end());
std::sort(values2.begin(), values2.end());
BOOST_TEST(values1 == values2);
BOOST_TEST(values1.size() == values2.size() &&
std::equal(values1.begin(), values1.end(), values2.begin(), test::equivalent));
}
template <class X1, class X2, class T>
@@ -58,7 +60,8 @@ namespace test
std::copy(x2.first, x2.second, std::back_inserter(values2));
std::sort(values1.begin(), values1.end());
std::sort(values2.begin(), values2.end());
BOOST_TEST(values1 == values2);
BOOST_TEST(values1.size() == values2.size() &&
std::equal(values1.begin(), values1.end(), values2.begin(), test::equivalent));
}
template <class X>