]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/test-std.cc
lilypond-manuals.css: edit color scheme and some spacing
[lilypond.git] / flower / test-std.cc
index 72e86f110afef40499396116a34431dfd4a6672e..4add05a625a863cbb581c4743ded5281e6fcdfa4 100644 (file)
@@ -1,20 +1,12 @@
-#if !STD_VECTOR
-#define Array flower_vector
-#endif
+#define HAVE_BOOST_LAMBDA 1
 #include "std-vector.hh"
 
-#include "parray.hh"
-
 #include <iostream>
 
-#include <boost/test/auto_unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#define YAFFUT_MAIN
+#include "yaffut.hh"
 
-using boost::unit_test::test_suite;
-
-#if !STD_VECTOR
-#define vector flower_vector
-#endif
+using namespace std;
 
 template<typename T>
 void
@@ -25,34 +17,24 @@ print (vector<T> v)
   cout << endl;
 }
 
-template<typename T>
-void
-print (Link_array<T> v)
-{
-  for (vsize i = 0; i < v.size (); i++)
-    cout << "v[" << i << "] = " << *v[i] << endl;
-  cout << endl;
-}
-
-
-BOOST_AUTO_UNIT_TEST (vector_erase)
+FUNC (vector_erase)
 {
   vector<int> 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<int> v;
   v.push_back (0);
@@ -60,18 +42,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<int> (v.begin (), v.begin ()).size (), vsize (0));
-  BOOST_CHECK_EQUAL (vector<int> (v.begin (), v.end ()).size (), v.size ());
-  BOOST_CHECK_EQUAL (vector<int> (v.begin () + 1, v.begin () + 2).size (),
-                    vsize (1));
+  EQUAL (vector<int> (v.begin (), v.begin ()).size (), vsize (0));
+  EQUAL (vector<int> (v.begin (), v.end ()).size (), v.size ());
+  EQUAL (vector<int> (v.begin () + 1, v.begin () + 2).size (),
+         vsize (1));
 #endif
 }
 
-BOOST_AUTO_UNIT_TEST (vector_sorting)
+FUNC (vector_sorting)
 {
   vector<int> v;
   v.push_back (2);
@@ -80,14 +62,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<int> ());
 #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<int> v;
   v.push_back (0);
@@ -95,41 +78,41 @@ 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<int> 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)
 {
-  Link_array<int> u, v;
+  vector<int *> u, v;
   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 ();
@@ -138,23 +121,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));
+}
+
+FUNC (parray_uniq)
+{
+  vector<int> v;
+  v.push_back (0);
+  v.push_back (1);
+  v.push_back (0);
+  vector_sort (v, less<int> ());
+  uniq (v);
+  EQUAL (v.size (), vsize (2));
 }
 
-test_suite*
-init_unit_test_suite (int, char**)
+FUNC (vector_search)
 {
-  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<int> v;
+  v.push_back (0);
+  v.push_back (1);
+  v.push_back (2);
+  vsize i = binary_search (v, 1, less<int> ());
+  EQUAL (i, vsize (1));
 }