#include <boost/test/included/unit_test.hpp>
#include <boost/test/parameterized_test.hpp>

#define BOOST_AUTO_TEST_CASE_PARAM( function, begin, end )             \
BOOST_AUTO_TU_REGISTRAR( BOOST_JOIN(registrar, __LINE__)  )(           \
    BOOST_PARAM_TEST_CASE(function, begin, end) )

void free_test_function( int i )
{
    BOOST_CHECK( i < 4 /* test assertion */ );
}

int params[] = { 1, 2, 3, 4, 5 };
BOOST_AUTO_TEST_CASE_PARAM( &free_test_function, params, params+5 );
