diff --git a/test/Jamfile b/test/Jamfile index 2b31149..d587fa1 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -6,6 +6,12 @@ unit-test is_instance_of_test : $(BOOST_ROOT) ; +unit-test algortihm_test + : algorithm_test.cpp + ../../test/build/test_exec_monitor + : $(BOOST_ROOT) + ; + unit-test operator_tests_simple : operator_tests_simple.cpp ../../test/build/test_exec_monitor diff --git a/test/algorithm_test.cpp b/test/algorithm_test.cpp new file mode 100644 index 0000000..c42499b --- /dev/null +++ b/test/algorithm_test.cpp @@ -0,0 +1,66 @@ +// bll_and_function.cpp - The Boost Lambda Library ----------------------- +// +// Copyright (C) 2000-2003 Jaakko Järvi (jaakko.jarvi@cs.utu.fi) +// Copyright (C) 2000-2003 Gary Powell (powellg@amazon.com) +// +// Permission to copy, use, sell and distribute this software is granted +// provided this copyright notice appears in all copies. +// Permission to modify the code and to distribute modified code is granted +// provided this copyright notice appears in all copies, and a notice +// that the code was modified is included with the copyright notice. +// +// This software is provided "as is" without express or implied warranty, +// and with no claim as to its suitability for any purpose. +// +// For more information, see www.boost.org + +// test using BLL and boost::function + +//#include // see "Header Implementation Option" +#include + +#include "boost/lambda/lambda.hpp" +#include "boost/lambda/bind.hpp" +#include "boost/lambda/algorithm.hpp" + +#include +#include +#include +#include + +#include + + + +void test_foreach() { + using namespace boost::lambda; + + int a[10][20]; + int sum = 0; + + std::for_each(a, a + 10, + bind(ll::for_each(), _1, _1 + 20, + protect((_1 = var(sum), ++var(sum))))); + + sum = 0; + std::for_each(a, a + 10, + bind(ll::for_each(), _1, _1 + 20, + protect((sum += _1)))); + + BOOST_TEST(sum == (199 + 1)/ 2 * 199); +} + +// More tests needed (for all algorithms) + +int test_main(int, char *[]) { + + test_foreach(); + + return 0; +} + + + + + +