123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- // (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 <boost/test/included/unit_test.hpp>
- #include <boost/test/data/test_case.hpp>
- #include <boost/test/data/monomorphic.hpp>
- #include <sstream>
- namespace bdata = boost::unit_test::data;
- // Generates a Fibonacci sequence
- std::vector<float> fibonacci() {
- std::vector<float> 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<std::string, float> vect_2_str(std::vector<float> v)
- {
- std::map<std::string, float> 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<const std::string, float> 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);
- }
- //]
|