- 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_sort));
- return test;
+ vector<int> v;
+ v.push_back (0);
+#if VECTOR_INSERT
+ v.insert (1, 0);
+#else
+ v.insert (v.begin (), 1);
+#endif
+ EQUAL (v[0], 1);
+#if VECTOR_INSERT
+ v.insert (2, v.size ());
+#else
+ v.insert (v.end (), 2);
+#endif
+ EQUAL (v.back (), 2);
+ vector<int> u;
+ u.insert (u.begin (), v.begin (), v.end ());
+ EQUAL (u.size (), v.size ());
+ u.clear ();
+ u.insert (u.end (), v.begin (), v.end ());
+ EQUAL (u.size (), v.size ());
+ u.clear ();
+}
+
+FUNC (parray_concat)
+{
+ 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]);
+ 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 ();
+ v.push_back (&a[0]);
+ v.push_back (&a[1]);
+ v.push_back (&a[2]);
+ v.push_back (&a[3]);
+ v.push_back (&a[4]);
+ 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));
+}
+
+FUNC (vector_search)
+{
+ 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));