test_icl_static_interval.hpp 1.2 KB

123456789101112131415161718192021222324
  1. /*-----------------------------------------------------------------------------+
  2. Copyright (c) 2008-2009: Joachim Faulhaber
  3. +------------------------------------------------------------------------------+
  4. Distributed under the Boost Software License, Version 1.0.
  5. (See accompanying file LICENCE.txt or copy at
  6. http://www.boost.org/LICENSE_1_0.txt)
  7. +-----------------------------------------------------------------------------*/
  8. #ifndef BOOST_ICL_TEST_ICL_STATIC_INTERVAL_HPP_JOFA_100930
  9. #define BOOST_ICL_TEST_ICL_STATIC_INTERVAL_HPP_JOFA_100930
  10. template <class T, class IntervalT>
  11. void static_interval_ctor_4_ordered_types()
  12. {
  13. BOOST_CHECK_EQUAL(icl::is_empty(IntervalT()), true);
  14. BOOST_CHECK_EQUAL(icl::cardinality(IntervalT()), icl::identity_element<typename icl::size_type_of<T>::type>::value());
  15. BOOST_CHECK_EQUAL(icl::size(IntervalT()), icl::identity_element<typename icl::size_type_of<T>::type>::value());
  16. BOOST_CHECK_EQUAL( IntervalT(), IntervalT() );
  17. BOOST_CHECK_EQUAL( IntervalT(), IntervalT(IntervalT().lower(), IntervalT().upper()) );
  18. BOOST_CHECK_EQUAL( IntervalT(), IntervalT(icl::lower(IntervalT()), icl::upper(IntervalT())) );
  19. }
  20. #endif // BOOST_ICL_TEST_ICL_STATIC_INTERVAL_HPP_JOFA_100930