Added more tests for backwards expansion

This commit is contained in:
Ion Gaztañaga
2014-09-20 17:29:41 +02:00
parent 27f99047a8
commit 1e40192e96

View File

@@ -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;
}