forked from boostorg/container
Add iterator tests
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
#include "container_common_tests.hpp"
|
||||
#include <vector>
|
||||
#include <boost/container/detail/flat_tree.hpp>
|
||||
#include "../../intrusive/test/iterator_test.hpp"
|
||||
|
||||
using namespace boost::container;
|
||||
|
||||
@@ -272,6 +273,24 @@ bool flat_tree_ordered_insertion_test()
|
||||
int_mset4.insert(int_even_mset.begin(), int_even_mset.end());
|
||||
if(!CheckEqualContainers(int_mset4, fmset))
|
||||
return false;
|
||||
|
||||
//Re-re-insertion using in-place merge
|
||||
fmset.reserve(fmset.size() + int_mset2.size());
|
||||
fmset.insert(ordered_range, int_mset2.begin(), int_mset2.end());
|
||||
std::multiset<int> int_mset5(int_mset2);
|
||||
int_mset4.insert(int_mset5.begin(), int_mset5.end());
|
||||
if(!CheckEqualContainers(int_mset4, fmset))
|
||||
return false;
|
||||
//Re-re-insertion of even
|
||||
std::multiset<int> int_even_mset2;
|
||||
for(std::size_t i = 0; i < NumElements; i+=2){
|
||||
int_even_mset2.insert(static_cast<int>(i));
|
||||
}
|
||||
fmset.reserve(fmset.size() + int_even_mset2.size());
|
||||
fmset.insert(ordered_range, int_even_mset2.begin(), int_even_mset2.end());
|
||||
int_mset4.insert(int_even_mset2.begin(), int_even_mset2.end());
|
||||
if(!CheckEqualContainers(int_mset4, fmset))
|
||||
return false;
|
||||
}
|
||||
|
||||
//Ordered insertion set
|
||||
@@ -605,6 +624,26 @@ int main()
|
||||
if(!boost::container::test::test_propagate_allocator<boost_container_flat_multiset>())
|
||||
return 1;
|
||||
|
||||
////////////////////////////////////
|
||||
// Iterator testing
|
||||
////////////////////////////////////
|
||||
{
|
||||
typedef boost::container::flat_set<int> cont_int;
|
||||
cont_int a; a.insert(0); a.insert(1); a.insert(2);
|
||||
boost::intrusive::test::test_iterator_random< cont_int >(a);
|
||||
if(boost::report_errors() != 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
{
|
||||
typedef boost::container::flat_multiset<int> cont_int;
|
||||
cont_int a; a.insert(0); a.insert(1); a.insert(2);
|
||||
boost::intrusive::test::test_iterator_random< cont_int >(a);
|
||||
if(boost::report_errors() != 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user