mirror of
https://github.com/boostorg/container.git
synced 2025-08-02 14:04:26 +02:00
Added more tests for backwards expansion
This commit is contained in:
@@ -168,23 +168,24 @@ bool test_insert_with_expand_bwd()
|
||||
|
||||
//Distance old and new buffer
|
||||
const int Offset[] =
|
||||
{ 350, 250, 150, 150,
|
||||
{ 350, 300, 250, 200, 150, 100, 150, 100,
|
||||
150, 50, 50, 50 };
|
||||
//Insert position
|
||||
const int Position[] =
|
||||
{ 100, 100, 100, 100,
|
||||
100, 100, 100, 100 };
|
||||
//Initial vector size
|
||||
const int InitialSize[] =
|
||||
{ 200, 200, 200, 200,
|
||||
{ 200, 200, 200, 200, 200, 200, 200, 200,
|
||||
200, 200, 200, 200 };
|
||||
//Size of the data to insert
|
||||
const int InsertSize[] =
|
||||
{ 100, 100, 100, 200,
|
||||
{ 100, 100, 100, 100, 100, 100, 200, 200,
|
||||
300, 25, 100, 200 };
|
||||
//Number of tests
|
||||
const int Iterations = sizeof(InsertSize)/sizeof(int);
|
||||
|
||||
//Insert position
|
||||
const int Position[] =
|
||||
{ 0, 100, 200 };
|
||||
|
||||
for(int pos = 0; pos < sizeof(Position)/sizeof(Position[0]); ++pos){
|
||||
for(int iteration = 0; iteration < Iterations; ++iteration)
|
||||
{
|
||||
boost::movelib::unique_ptr<char[]> memptr =
|
||||
@@ -212,13 +213,13 @@ bool test_insert_with_expand_bwd()
|
||||
VectorWithExpandBwdAllocator vector(alloc);
|
||||
vector.insert( vector.begin()
|
||||
, initial_data.begin(), initial_data.end());
|
||||
vector.insert( vector.begin() + Position[iteration]
|
||||
vector.insert( vector.begin() + Position[pos]
|
||||
, data_to_insert.begin(), data_to_insert.end());
|
||||
|
||||
if(!life_count<value_type>::check(InitialSize[iteration]*2+InsertSize[iteration]*2))
|
||||
return false;
|
||||
|
||||
initial_data.insert(initial_data.begin() + Position[iteration]
|
||||
initial_data.insert(initial_data.begin() + Position[pos]
|
||||
, data_to_insert.begin(), data_to_insert.end());
|
||||
//Now check that values are equal
|
||||
if(!CheckEqualVector(vector, initial_data)){
|
||||
@@ -228,6 +229,7 @@ bool test_insert_with_expand_bwd()
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user