]> git.donarmstrong.com Git - lilypond.git/blob - flower/test-std.cc
* flower/test-std.cc: Add simple unit test for vector migration.
[lilypond.git] / flower / test-std.cc
1 #if !STD_VECTOR
2 #define Array flower_vector
3 #endif
4 #include "std-vector.hh"
5
6 #include <iostream>
7
8 #include <boost/test/auto_unit_test.hpp>
9 #include <boost/test/floating_point_comparison.hpp>
10
11 using boost::unit_test::test_suite;
12
13 template<typename T>
14 void
15 print (vector<T> v)
16 {
17   for (vsize i = 0; i < v.size (); i++)
18     cout << "v[" << i << "] = " << v[i] << endl;
19 }
20
21 BOOST_AUTO_UNIT_TEST (vector_erase)
22 {
23   vector<int> v;
24   v.push_back (0);
25   v.push_back (1);
26   BOOST_CHECK_EQUAL (v.size (), 2u);
27   v.erase (v.begin () + 1);
28   BOOST_CHECK_EQUAL (v.size (), 1u);
29   BOOST_CHECK_EQUAL (v.back (), 0);
30
31   v.push_back (1);
32   BOOST_CHECK_EQUAL (v.size (), 2u);
33   v.erase (v.begin () + 0);
34   BOOST_CHECK_EQUAL (v.size (), 1u);
35   BOOST_CHECK_EQUAL (v.back (), 1);
36 }
37
38
39 test_suite*
40 init_unit_test_suite (int, char**)
41 {
42   test_suite *test = BOOST_TEST_SUITE("std::Flower");
43   test->add (BOOST_TEST_CASE (vector_erase));
44   return test;
45 }