1 // Copyright Louis Dionne 2013-2017
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
4
5 #ifndef BOOST_HANA_TEST_AUTO_MAKE_HPP
6 #define BOOST_HANA_TEST_AUTO_MAKE_HPP
7
8 #include <boost/hana/assert.hpp>
9 #include <boost/hana/core/make.hpp>
10 #include <boost/hana/equal.hpp>
11
12 #include "test_case.hpp"
13 #include <laws/base.hpp>
14
15
__anonfee88c750102null16 TestCase test_make{[]{
17 namespace hana = boost::hana;
18 using hana::test::ct_eq;
19
20 BOOST_HANA_CONSTANT_CHECK(hana::equal(
21 MAKE_TUPLE(),
22 hana::make<TUPLE_TAG>()
23 ));
24
25 BOOST_HANA_CONSTANT_CHECK(hana::equal(
26 MAKE_TUPLE(ct_eq<0>{}),
27 hana::make<TUPLE_TAG>(ct_eq<0>{})
28 ));
29
30 BOOST_HANA_CONSTANT_CHECK(hana::equal(
31 MAKE_TUPLE(ct_eq<0>{}, ct_eq<1>{}),
32 hana::make<TUPLE_TAG>(ct_eq<0>{}, ct_eq<1>{})
33 ));
34
35 BOOST_HANA_CONSTANT_CHECK(hana::equal(
36 MAKE_TUPLE(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{}),
37 hana::make<TUPLE_TAG>(ct_eq<0>{}, ct_eq<1>{}, ct_eq<2>{})
38 ));
39 }};
40
41 #endif // !BOOST_HANA_TEST_AUTO_MAKE_HPP
42