2 #define Array flower_vector
4 #include "std-vector.hh"
8 #include <boost/test/auto_unit_test.hpp>
9 #include <boost/test/floating_point_comparison.hpp>
11 using boost::unit_test::test_suite;
14 #define vector flower_vector
21 for (vsize i = 0; i < v.size (); i++)
22 cout << "v[" << i << "] = " << v[i] << endl;
26 BOOST_AUTO_UNIT_TEST (vector_erase)
31 BOOST_CHECK_EQUAL (v.size (), vsize (2));
32 v.erase (v.begin () + 1);
33 BOOST_CHECK_EQUAL (v.size (), vsize (1));
34 BOOST_CHECK_EQUAL (v.back (), 0);
37 BOOST_CHECK_EQUAL (v.size (), vsize (2));
38 v.erase (v.begin () + 0);
39 BOOST_CHECK_EQUAL (v.size (), vsize (1));
40 BOOST_CHECK_EQUAL (v.back (), 1);
43 BOOST_AUTO_UNIT_TEST (vector_slice)
51 BOOST_CHECK_EQUAL (v.slice (0, 0).size (), vsize (0));
52 BOOST_CHECK_EQUAL (v.slice (0, v.size ()).size (), v.size ());
53 BOOST_CHECK_EQUAL (v.slice (1, 2).size (), vsize (1));
55 BOOST_CHECK_EQUAL (vector<int> (v.begin (), v.begin ()).size (), vsize (0));
56 BOOST_CHECK_EQUAL (vector<int> (v.begin (), v.end ()).size (), v.size ());
57 BOOST_CHECK_EQUAL (vector<int> (v.begin () + 1, v.begin () + 2).size (),
62 BOOST_AUTO_UNIT_TEST (vector_sorting)
69 v.sort (default_compare);
71 vector_sort (v, default_compare);
73 BOOST_CHECK_EQUAL (v[0], 0);
74 BOOST_CHECK_EQUAL (v[1], 1);
75 BOOST_CHECK_EQUAL (v[2], 2);
78 BOOST_AUTO_UNIT_TEST (vector_insert)
85 v.insert (v.begin (), 1);
87 BOOST_CHECK_EQUAL (v[0], 1);
89 v.insert (2, v.size ());
91 v.insert (v.end (), 2);
93 BOOST_CHECK_EQUAL (v.back (), 2);
97 init_unit_test_suite (int, char**)
99 test_suite *test = BOOST_TEST_SUITE("std::Flower");
100 test->add (BOOST_TEST_CASE (vector_erase));
101 test->add (BOOST_TEST_CASE (vector_slice));
102 test->add (BOOST_TEST_CASE (vector_sorting));
103 test->add (BOOST_TEST_CASE (vector_insert));