X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Ftest-std.cc;h=8fce64abe12041f321c402940421a7ee5a9bf08a;hb=0c4e27e5a1d9f4ace45a248ead78a4a874928a86;hp=7e7acee091f138b87d1ec8200058c30dd8857af5;hpb=86fac535aef982d4f98f9f51e7476ab84b28c247;p=lilypond.git diff --git a/flower/test-std.cc b/flower/test-std.cc index 7e7acee091..8fce64abe1 100644 --- a/flower/test-std.cc +++ b/flower/test-std.cc @@ -1,21 +1,23 @@ +#define STD_VECTOR 1 + #if !STD_VECTOR #define Array flower_vector #endif -#include "std-vector.hh" -#include "parray.hh" +#define HAVE_BOOST_LAMBDA 1 +#include "std-vector.hh" #include -#include -#include - -using boost::unit_test::test_suite; +#define YAFFUT_MAIN +#include "yaffut.hh" #if !STD_VECTOR #define vector flower_vector #endif +using namespace std; + template void print (vector v) @@ -25,6 +27,7 @@ print (vector v) cout << endl; } +#if !STD_VECTOR template void print (Link_array v) @@ -33,26 +36,26 @@ print (Link_array v) cout << "v[" << i << "] = " << *v[i] << endl; cout << endl; } +#endif - -BOOST_AUTO_UNIT_TEST (vector_erase) +FUNC (vector_erase) { vector v; v.push_back (0); v.push_back (1); - BOOST_CHECK_EQUAL (v.size (), vsize (2)); + EQUAL (v.size (), vsize (2)); v.erase (v.begin () + 1); - BOOST_CHECK_EQUAL (v.size (), vsize (1)); - BOOST_CHECK_EQUAL (v.back (), 0); + EQUAL (v.size (), vsize (1)); + EQUAL (v.back (), 0); v.push_back (1); - BOOST_CHECK_EQUAL (v.size (), vsize (2)); + EQUAL (v.size (), vsize (2)); v.erase (v.begin () + 0); - BOOST_CHECK_EQUAL (v.size (), vsize (1)); - BOOST_CHECK_EQUAL (v.back (), 1); + EQUAL (v.size (), vsize (1)); + EQUAL (v.back (), 1); } -BOOST_AUTO_UNIT_TEST (vector_slice) +FUNC (vector_slice) { vector v; v.push_back (0); @@ -60,18 +63,18 @@ BOOST_AUTO_UNIT_TEST (vector_slice) v.push_back (2); v.push_back (3); #if VECTOR_SLICE - BOOST_CHECK_EQUAL (v.slice (0, 0).size (), vsize (0)); - BOOST_CHECK_EQUAL (v.slice (0, v.size ()).size (), v.size ()); - BOOST_CHECK_EQUAL (v.slice (1, 2).size (), vsize (1)); + EQUAL (v.slice (0, 0).size (), vsize (0)); + EQUAL (v.slice (0, v.size ()).size (), v.size ()); + EQUAL (v.slice (1, 2).size (), vsize (1)); #else - BOOST_CHECK_EQUAL (vector (v.begin (), v.begin ()).size (), vsize (0)); - BOOST_CHECK_EQUAL (vector (v.begin (), v.end ()).size (), v.size ()); - BOOST_CHECK_EQUAL (vector (v.begin () + 1, v.begin () + 2).size (), - vsize (1)); + EQUAL (vector (v.begin (), v.begin ()).size (), vsize (0)); + EQUAL (vector (v.begin (), v.end ()).size (), v.size ()); + EQUAL (vector (v.begin () + 1, v.begin () + 2).size (), + vsize (1)); #endif } -BOOST_AUTO_UNIT_TEST (vector_sorting) +FUNC (vector_sorting) { vector v; v.push_back (2); @@ -80,14 +83,15 @@ BOOST_AUTO_UNIT_TEST (vector_sorting) #if VECTOR_SORT v.sort (default_compare); #else - vector_sort (v, default_compare); + //sort (v.begin (), v.end ()); + vector_sort (v, less ()); #endif - BOOST_CHECK_EQUAL (v[0], 0); - BOOST_CHECK_EQUAL (v[1], 1); - BOOST_CHECK_EQUAL (v[2], 2); + EQUAL (v[0], 0); + EQUAL (v[1], 1); + EQUAL (v[2], 2); } -BOOST_AUTO_UNIT_TEST (vector_insert) +FUNC (vector_insert) { vector v; v.push_back (0); @@ -95,45 +99,45 @@ BOOST_AUTO_UNIT_TEST (vector_insert) v.insert (1, 0); #else v.insert (v.begin (), 1); -#endif - BOOST_CHECK_EQUAL (v[0], 1); +#endif + EQUAL (v[0], 1); #if VECTOR_INSERT v.insert (2, v.size ()); #else v.insert (v.end (), 2); -#endif - BOOST_CHECK_EQUAL (v.back (), 2); +#endif + EQUAL (v.back (), 2); vector u; u.insert (u.begin (), v.begin (), v.end ()); - BOOST_CHECK_EQUAL (u.size (), v.size ()); + EQUAL (u.size (), v.size ()); u.clear (); u.insert (u.end (), v.begin (), v.end ()); - BOOST_CHECK_EQUAL (u.size (), v.size ()); + EQUAL (u.size (), v.size ()); u.clear (); } -BOOST_AUTO_UNIT_TEST (parray_concat) +FUNC (parray_concat) { -#if 1 +#if !STD_VECTOR Link_array u, v; #else - vector u, v; -#endif + vector u, v; +#endif int a[5] = { 0, 1, 2, 3, 4 }; u.push_back (&a[0]); u.push_back (&a[1]); u.push_back (&a[2]); v.push_back (&a[3]); v.push_back (&a[4]); - u.concat (v); - BOOST_CHECK_EQUAL (u[0], &a[0]); - BOOST_CHECK_EQUAL (u[1], &a[1]); - BOOST_CHECK_EQUAL (u[2], &a[2]); - BOOST_CHECK_EQUAL (u[3], &a[3]); - BOOST_CHECK_EQUAL (u[4], &a[4]); - BOOST_CHECK_EQUAL (u.size (), vsize (5)); - u.concat (v); - BOOST_CHECK_EQUAL (u.size (), vsize (7)); + concat (u, v); + EQUAL (u[0], &a[0]); + EQUAL (u[1], &a[1]); + EQUAL (u[2], &a[2]); + EQUAL (u[3], &a[3]); + EQUAL (u[4], &a[4]); + EQUAL (u.size (), vsize (5)); + concat (u, v); + EQUAL (u.size (), vsize (7)); u.clear (); v.clear (); @@ -142,23 +146,32 @@ BOOST_AUTO_UNIT_TEST (parray_concat) v.push_back (&a[2]); v.push_back (&a[3]); v.push_back (&a[4]); - u.concat (v); - BOOST_CHECK_EQUAL (u[0], &a[0]); - BOOST_CHECK_EQUAL (u[1], &a[1]); - BOOST_CHECK_EQUAL (u[2], &a[2]); - BOOST_CHECK_EQUAL (u[3], &a[3]); - BOOST_CHECK_EQUAL (u[4], &a[4]); - BOOST_CHECK_EQUAL (u.size (), vsize (5)); + concat (u, v); + EQUAL (u[0], &a[0]); + EQUAL (u[1], &a[1]); + EQUAL (u[2], &a[2]); + EQUAL (u[3], &a[3]); + EQUAL (u[4], &a[4]); + EQUAL (u.size (), vsize (5)); } -test_suite* -init_unit_test_suite (int, char**) +FUNC (parray_uniq) { - test_suite *test = BOOST_TEST_SUITE("std::Flower"); - test->add (BOOST_TEST_CASE (vector_erase)); - test->add (BOOST_TEST_CASE (vector_slice)); - test->add (BOOST_TEST_CASE (vector_sorting)); - test->add (BOOST_TEST_CASE (vector_insert)); - test->add (BOOST_TEST_CASE (parray_concat)); - return test; + vector v; + v.push_back (0); + v.push_back (1); + v.push_back (0); + vector_sort (v, less ()); + uniq (v); + EQUAL (v.size (), vsize (2)); +} + +FUNC (vector_search) +{ + vector v; + v.push_back (0); + v.push_back (1); + v.push_back (2); + vsize i = binary_search (v, 1, less ()); + EQUAL (i, vsize (1)); }