mirror of
https://github.com/boostorg/hana.git
synced 2026-02-24 04:02:12 +00:00
Use finer grained assertions acknowledging Constants
This commit is contained in:
@@ -6,9 +6,9 @@ Distributed under the Boost Software License, Version 1.0.
|
||||
|
||||
#include <boost/hana/functional.hpp>
|
||||
|
||||
#include <boost/hana/detail/assert.hpp>
|
||||
#include <boost/hana/detail/constexpr.hpp>
|
||||
#include <boost/hana/detail/minimal/comparable.hpp>
|
||||
#include <boost/hana/detail/static_assert.hpp>
|
||||
|
||||
#include <tuple>
|
||||
using namespace boost::hana;
|
||||
@@ -26,16 +26,16 @@ template <int i>
|
||||
constexpr auto x = detail::minimal::comparable<>(i);
|
||||
|
||||
int main() {
|
||||
BOOST_HANA_STATIC_ASSERT(on(f, g)() == f());
|
||||
BOOST_HANA_STATIC_ASSERT(on(f, g)(x<0>) == f(g(x<0>)));
|
||||
BOOST_HANA_STATIC_ASSERT(on(f, g)(x<0>, x<1>) == f(g(x<0>), g(x<1>)));
|
||||
BOOST_HANA_STATIC_ASSERT(on(f, g)(x<0>, x<1>, x<2>) == f(g(x<0>), g(x<1>), g(x<2>)));
|
||||
BOOST_HANA_STATIC_ASSERT(on(f, g)(x<0>, x<1>, x<2>, x<3>) == f(g(x<0>), g(x<1>), g(x<2>), g(x<3>)));
|
||||
BOOST_HANA_CONSTEXPR_ASSERT(on(f, g)() == f());
|
||||
BOOST_HANA_CONSTEXPR_ASSERT(on(f, g)(x<0>) == f(g(x<0>)));
|
||||
BOOST_HANA_CONSTEXPR_ASSERT(on(f, g)(x<0>, x<1>) == f(g(x<0>), g(x<1>)));
|
||||
BOOST_HANA_CONSTEXPR_ASSERT(on(f, g)(x<0>, x<1>, x<2>) == f(g(x<0>), g(x<1>), g(x<2>)));
|
||||
BOOST_HANA_CONSTEXPR_ASSERT(on(f, g)(x<0>, x<1>, x<2>, x<3>) == f(g(x<0>), g(x<1>), g(x<2>), g(x<3>)));
|
||||
|
||||
// check the infix version
|
||||
BOOST_HANA_STATIC_ASSERT((f /on/ g)() == f());
|
||||
BOOST_HANA_STATIC_ASSERT((f /on/ g)(x<0>) == f(g(x<0>)));
|
||||
BOOST_HANA_STATIC_ASSERT((f /on/ g)(x<0>, x<1>) == f(g(x<0>), g(x<1>)));
|
||||
BOOST_HANA_STATIC_ASSERT((f /on/ g)(x<0>, x<1>, x<2>) == f(g(x<0>), g(x<1>), g(x<2>)));
|
||||
BOOST_HANA_STATIC_ASSERT((f /on/ g)(x<0>, x<1>, x<2>, x<3>) == f(g(x<0>), g(x<1>), g(x<2>), g(x<3>)));
|
||||
BOOST_HANA_CONSTEXPR_ASSERT((f /on/ g)() == f());
|
||||
BOOST_HANA_CONSTEXPR_ASSERT((f /on/ g)(x<0>) == f(g(x<0>)));
|
||||
BOOST_HANA_CONSTEXPR_ASSERT((f /on/ g)(x<0>, x<1>) == f(g(x<0>), g(x<1>)));
|
||||
BOOST_HANA_CONSTEXPR_ASSERT((f /on/ g)(x<0>, x<1>, x<2>) == f(g(x<0>), g(x<1>), g(x<2>)));
|
||||
BOOST_HANA_CONSTEXPR_ASSERT((f /on/ g)(x<0>, x<1>, x<2>, x<3>) == f(g(x<0>), g(x<1>), g(x<2>), g(x<3>)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user