diff --git a/test/Jamfile b/test/Jamfile index 2c6b95a..3a6fe13 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -62,3 +62,5 @@ compile bind_front_fn_constexpr_test.cpp ; compile bind_front_obj_constexpr_test.cpp ; compile bind_front_mfn_constexpr_test.cpp ; compile bind_front_md_constexpr_test.cpp ; + +run integer_sequence_test.cpp ; diff --git a/test/integer_sequence_test.cpp b/test/integer_sequence_test.cpp new file mode 100644 index 0000000..1e86400 --- /dev/null +++ b/test/integer_sequence_test.cpp @@ -0,0 +1,55 @@ +// Copyright 2015 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include +#include + +int main() +{ + using boost::compat::integer_sequence; + using boost::compat::make_integer_sequence; + using boost::compat::index_sequence; + using boost::compat::make_index_sequence; + using boost::compat::index_sequence_for; + + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_integer_sequence, integer_sequence); + + BOOST_TEST_TRAIT_SAME(make_index_sequence<0>, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_index_sequence<1>, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_index_sequence<2>, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_index_sequence<3>, integer_sequence); + BOOST_TEST_TRAIT_SAME(make_index_sequence<4>, integer_sequence); + + BOOST_TEST_TRAIT_SAME(make_index_sequence<0>, index_sequence<>); + BOOST_TEST_TRAIT_SAME(make_index_sequence<1>, index_sequence<0>); + BOOST_TEST_TRAIT_SAME(make_index_sequence<2>, index_sequence<0, 1>); + BOOST_TEST_TRAIT_SAME(make_index_sequence<3>, index_sequence<0, 1, 2>); + BOOST_TEST_TRAIT_SAME(make_index_sequence<4>, index_sequence<0, 1, 2, 3>); + + BOOST_TEST_TRAIT_SAME(index_sequence_for<>, index_sequence<>); + BOOST_TEST_TRAIT_SAME(index_sequence_for, index_sequence<0>); + BOOST_TEST_TRAIT_SAME(index_sequence_for, index_sequence<0, 1>); + BOOST_TEST_TRAIT_SAME(index_sequence_for, index_sequence<0, 1, 2>); + BOOST_TEST_TRAIT_SAME(index_sequence_for, index_sequence<0, 1, 2, 3>); + + return boost::report_errors(); +}