/*
  [auto_generated]
  libs/numeric/odeint/test/is_pair.cpp

  [begin_description]
  This file tests the is_pair meta-function.
  [end_description]

  Copyright 2011-2012 Karsten Ahnert
  Copyright 2011-2012 Mario Mulansky

  Distributed under the Boost Software License, Version 1.0.
  (See accompanying file LICENSE_1_0.txt or
  copy at http://www.boost.org/LICENSE_1_0.txt)
*/

#define BOOST_TEST_MODULE odeint_is_pair

#include <utility>

#include <boost/test/unit_test.hpp>
#include <boost/static_assert.hpp>

#include <boost/numeric/odeint/util/is_pair.hpp>

using namespace boost::numeric::odeint;



BOOST_AUTO_TEST_SUITE( is_pair_test )

BOOST_AUTO_TEST_CASE( test_is_pair )
{
    typedef std::pair< int , int > type1;
    typedef std::pair< int& , int > type2;
    typedef std::pair< int , int& > type3;
    typedef std::pair< int& , int& > type4;
    typedef std::pair< const int , int > type5;
    typedef std::pair< const int& , int > type6;

    static_assert(( is_pair< type1 >::value ), "Not a pair");
    static_assert(( is_pair< type2 >::value ), "Not a pair");
    static_assert(( is_pair< type3 >::value ), "Not a pair");
    static_assert(( is_pair< type4 >::value ), "Not a pair");
    static_assert(( is_pair< type5 >::value ), "Not a pair");
    static_assert(( is_pair< type6 >::value ), "Not a pair");
}

BOOST_AUTO_TEST_SUITE_END()
