// http://www.boost.org/LICENSE_1_0.txt)
#include <boost/yap/expression.hpp>
-#include <boost/test/minimal.hpp>
+#include <boost/core/lightweight_test.hpp>
template<typename T>
namespace bh = boost::hana;
-int test_main(int, char * [])
+int main()
{
{
term<int> number = {{42}};
auto fn = yap::make_expression_function(number);
auto fn_copy = fn;
- BOOST_CHECK(fn() == 42);
- BOOST_CHECK(fn_copy() == 42);
+ BOOST_TEST(fn() == 42);
+ BOOST_TEST(fn_copy() == 42);
yap::value(number) = 21;
- BOOST_CHECK(fn() == 21);
- BOOST_CHECK(fn_copy() == 21);
+ BOOST_TEST(fn() == 21);
+ BOOST_TEST(fn_copy() == 21);
}
{
auto fn = yap::make_expression_function(std::move(number));
auto fn_copy = fn;
- BOOST_CHECK(fn() == 42);
- BOOST_CHECK(fn_copy() == 42);
+ BOOST_TEST(fn() == 42);
+ BOOST_TEST(fn_copy() == 42);
yap::value(number) = 21;
- BOOST_CHECK(fn() == 42);
- BOOST_CHECK(fn_copy() == 42);
+ BOOST_TEST(fn() == 42);
+ BOOST_TEST(fn_copy() == 42);
}
{
auto fn = yap::make_expression_function(std::move(number));
- BOOST_CHECK(*fn() == 42);
+ BOOST_TEST(*fn() == 42);
auto fn_2 = std::move(fn);
- BOOST_CHECK(*fn_2() == 42);
+ BOOST_TEST(*fn_2() == 42);
yap::value(number) = std::unique_ptr<int>(new int(21));
- BOOST_CHECK(*fn_2() == 42);
+ BOOST_TEST(*fn_2() == 42);
}
- return 0;
+ return boost::report_errors();
}