// (C) Copyright Raffi Enficiaud 2014. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/test for the library home page. //[example_code #define BOOST_TEST_MODULE example67 #include #include #include #include namespace bdata = boost::unit_test::data; // Generates a Fibonacci sequence std::vector fibonacci() { std::vector ret(8); ret[0] = 0; ret[1] = 1; for(std::size_t s(2); s < ret.size(); s++) { ret[s] = ret[s-1] + ret[s-2]; } return ret; } BOOST_DATA_TEST_CASE( test1, bdata::make(fibonacci()), array_element) { std::cout << "test 1: " << array_element << std::endl; BOOST_TEST(array_element <= 13); } // Generates a map from a vector std::map vect_2_str(std::vector v) { std::map out; for(std::size_t s(0); s < v.size(); s++) { std::ostringstream o; o << v[s]; out[o.str()] = v[s]; } return out; } typedef std::pair pair_map_t; BOOST_TEST_DONT_PRINT_LOG_VALUE( pair_map_t ) BOOST_DATA_TEST_CASE( test2, bdata::make(vect_2_str(fibonacci())), array_element) { std::cout << "test 2: \"" << array_element.first << "\", " << array_element.second << std::endl; BOOST_TEST(array_element.second <= 13); } //]