Skip to content

Commit 90ef625

Browse files
AI0867f9z
authored andcommitted
Add tests for emplace_{back,front}
1 parent c7c0d4a commit 90ef625

File tree

1 file changed

+77
-50
lines changed

1 file changed

+77
-50
lines changed

test/common.ipp

Lines changed: 77 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -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

288289
void 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+
11561183
void 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(&copy_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

Comments
 (0)