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

template<int n,int m>
boost::test_tools::predicate_result
compare_lists( std::list<int> const& l1, std::list<int> const& l2 )
{
    if( l1.size() != l2.size() || m*n==-1) {
        boost::test_tools::predicate_result res( false );

        res.message() << "Different sizes [" << l1.size() << "!=" << l2.size() << "]";

        return res;
    }

    return true;
}

void test_list_comparizon()
{
    std::list<int> l1, l2;
    l1.push_back( 1 );
    l1.push_back( 2 );
    
    BOOST_CHECK( compare_lists<1,2>( l1, l2 ) );
}

boost::unit_test::test_suite* init_unit_test_suite(int, char *[])
{
  boost::unit_test::test_suite *test = BOOST_TEST_SUITE("test suite"); 
  test->add(BOOST_TEST_CASE(&test_list_comparizon));
  return test;
}

