@@ -283,6 +283,7 @@ void cxx11_allocator_test() {
283283 CB_CONTAINER<MyInteger, cxx11_allocator<MyInteger> > cb (10 , 0 );
284284 generic_test (cb);
285285}
286+
286287#endif
287288
288289void begin_and_end_test () {
@@ -1153,6 +1154,32 @@ void pop_back_test() {
11531154 generic_test (cb);
11541155}
11551156
1157+ void emplace_test (){
1158+ CB_CONTAINER<MyInteger> cb (4 );
1159+ cb.emplace_back (4 );
1160+ cb.emplace_back (5 );
1161+ cb.emplace_back (6 );
1162+ cb.emplace_back (7 );
1163+
1164+ BOOST_CHECK (cb.size () == 4 );
1165+ BOOST_CHECK (cb.front () == 4 );
1166+ BOOST_CHECK (cb.back () == 7 );
1167+
1168+ cb.emplace_front (3 );
1169+ cb.emplace_front (2 );
1170+
1171+ BOOST_CHECK (cb.front () == 2 );
1172+ BOOST_CHECK (cb.back () == 5 );
1173+
1174+ cb.emplace_front (1 );
1175+ cb.emplace_front (0 );
1176+
1177+ BOOST_CHECK (cb.size () == 4 );
1178+ BOOST_CHECK (*cb.begin () == 0 );
1179+ BOOST_CHECK (cb.front () == 0 );
1180+ BOOST_CHECK (cb.back () == 3 );
1181+ }
1182+
11561183void insert_test () {
11571184
11581185 CB_CONTAINER<MyInteger> cb1 (4 );
@@ -2442,56 +2469,56 @@ void check_containers_exception_specifications() {
24422469}
24432470
24442471// add common tests into a test suite
2445- void run_common_tests ()
2446- {
2447- basic_test ( );
2448- constructor_and_element_access_test ( );
2449- size_test ( );
2450- allocator_test ( );
2451- begin_and_end_test ( );
2452- rbegin_and_rend_test ( );
2453- element_access_and_insert_test ( );
2454- at_test ( );
2455- front_and_back_test ( );
2456- linearize_test ( );
2457- array_range_test ( );
2458- capacity_and_reserve_test ( );
2459- full_and_empty_test ( );
2460- set_capacity_test ( );
2461- rset_capacity_test ( );
2462- resize_test ( );
2463- rresize_test ( );
2464- constructor_test ( );
2465- assign_test ( );
2466- copy_constructor_and_assign_test ( );
2467- swap_test ( );
2468- push_back_test ( );
2469- pop_back_test ( );
2470- insert_test ( );
2471- insert_n_test ( );
2472- insert_range_test ( );
2473- push_front_test ( );
2474- pop_front_test ( );
2475- rinsert_test ( );
2476- rinsert_n_test ( );
2477- rinsert_range_test ( );
2478- erase_test ( );
2479- erase_range_test ( );
2480- rerase_test ( );
2481- rerase_range_test ( );
2482- clear_test ( );
2483- equality_test ( );
2484- lexicographical_comparison_test ( );
2485- assign_range_test ( );
2486- example_test ( );
2487- element_destruction_test ( );
2488- const_methods_test ( );
2489- rotate_test ( );
2490- move_container_on_cpp11 ( );
2491- move_container_values_noexcept ();
2492- check_containers_exception_specifications ( );
2493- #if !defined(BOOST_NO_CXX11_ALLOCATOR )
2494- cxx11_allocator_test ( );
2472+ void add_common_tests (test_suite* tests) {
2473+ tests-> add ( BOOST_TEST_CASE (&basic_test));
2474+ tests-> add ( BOOST_TEST_CASE (&constructor_and_element_access_test) );
2475+ tests-> add ( BOOST_TEST_CASE (&size_test) );
2476+ tests-> add ( BOOST_TEST_CASE (&allocator_test) );
2477+ tests-> add ( BOOST_TEST_CASE (&begin_and_end_test) );
2478+ tests-> add ( BOOST_TEST_CASE (&rbegin_and_rend_test) );
2479+ tests-> add ( BOOST_TEST_CASE (&element_access_and_insert_test) );
2480+ tests-> add ( BOOST_TEST_CASE (&at_test) );
2481+ tests-> add ( BOOST_TEST_CASE (&front_and_back_test) );
2482+ tests-> add ( BOOST_TEST_CASE (&linearize_test) );
2483+ tests-> add ( BOOST_TEST_CASE (&array_range_test) );
2484+ tests-> add ( BOOST_TEST_CASE (&capacity_and_reserve_test) );
2485+ tests-> add ( BOOST_TEST_CASE (&full_and_empty_test) );
2486+ tests-> add ( BOOST_TEST_CASE (&set_capacity_test) );
2487+ tests-> add ( BOOST_TEST_CASE (&rset_capacity_test) );
2488+ tests-> add ( BOOST_TEST_CASE (&resize_test) );
2489+ tests-> add ( BOOST_TEST_CASE (&rresize_test) );
2490+ tests-> add ( BOOST_TEST_CASE (&constructor_test) );
2491+ tests-> add ( BOOST_TEST_CASE (&assign_test) );
2492+ tests-> add ( BOOST_TEST_CASE (©_constructor_and_assign_test) );
2493+ tests-> add ( BOOST_TEST_CASE (&swap_test) );
2494+ tests-> add ( BOOST_TEST_CASE (&push_back_test) );
2495+ tests-> add ( BOOST_TEST_CASE (&pop_back_test) );
2496+ tests-> add ( BOOST_TEST_CASE (&emplace_test) );
2497+ tests-> add ( BOOST_TEST_CASE (&insert_test) );
2498+ tests-> add ( BOOST_TEST_CASE (&insert_n_test) );
2499+ tests-> add ( BOOST_TEST_CASE (&insert_range_test) );
2500+ tests-> add ( BOOST_TEST_CASE (&push_front_test) );
2501+ tests-> add ( BOOST_TEST_CASE (&pop_front_test) );
2502+ tests-> add ( BOOST_TEST_CASE (&rinsert_test) );
2503+ tests-> add ( BOOST_TEST_CASE (&rinsert_n_test) );
2504+ tests-> add ( BOOST_TEST_CASE (&rinsert_range_test) );
2505+ tests-> add ( BOOST_TEST_CASE (&erase_test) );
2506+ tests-> add ( BOOST_TEST_CASE (&erase_range_test) );
2507+ tests-> add ( BOOST_TEST_CASE (&rerase_test) );
2508+ tests-> add ( BOOST_TEST_CASE (&rerase_range_test) );
2509+ tests-> add ( BOOST_TEST_CASE (&clear_test) );
2510+ tests-> add ( BOOST_TEST_CASE (&equality_test) );
2511+ tests-> add ( BOOST_TEST_CASE (&lexicographical_comparison_test) );
2512+ tests-> add ( BOOST_TEST_CASE (&assign_range_test) );
2513+ tests-> add ( BOOST_TEST_CASE (&example_test) );
2514+ tests-> add ( BOOST_TEST_CASE (&element_destruction_test) );
2515+ tests-> add ( BOOST_TEST_CASE (&const_methods_test) );
2516+ tests-> add ( BOOST_TEST_CASE (&rotate_test) );
2517+ tests-> add ( BOOST_TEST_CASE (&move_container_on_cpp11) );
2518+ tests-> add ( BOOST_TEST_CASE (&move_container_values_noexcept));
2519+ tests-> add ( BOOST_TEST_CASE (&check_containers_exception_specifications) );
2520+ #if !defined(BOOST_CB_NO_CXX11_ALLOCATOR )
2521+ tests-> add ( BOOST_TEST_CASE (&cxx11_allocator_test) );
24952522#endif
24962523}
24972524
0 commit comments