|
|
|
@ -43,22 +43,22 @@ TEST( StringPair, Dynamic )
|
|
|
|
|
EXPECT_EQ(spl.size(), u);
|
|
|
|
|
snprintf(key, 15, "k%u", u);
|
|
|
|
|
snprintf(value, 15, "v%u", u*91);
|
|
|
|
|
spl.push_back( pEp::StringPair{key, value} );
|
|
|
|
|
spl.push_back( pEp::StringPair{key, value}.move_out() );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
auto find_by_key = [key](const pEp::StringPair& sp){ return sp.key == key; };
|
|
|
|
|
auto find_by_key = [key](const pEp::StringPair& sp){ return strcmp(sp.get()->key, key)==0; };
|
|
|
|
|
|
|
|
|
|
// delete random elements.
|
|
|
|
|
for(unsigned u=0; u<NumberOfElements; ++u)
|
|
|
|
|
{
|
|
|
|
|
EXPECT_EQUAL(spl.size(), NumberOfElements-u);
|
|
|
|
|
EXPECT_EQ(spl.size(), NumberOfElements-u);
|
|
|
|
|
snprintf(key, 15, "k%u", (u*7) % NumberOfElements); // permutate keys order
|
|
|
|
|
auto q = std::find( spl.begin(), spl.end(), find_by_key );
|
|
|
|
|
auto q = std::find_if( spl.begin(), spl.end(), find_by_key );
|
|
|
|
|
|
|
|
|
|
EXPECT_NE( q, spl.end() ); // element with key is found
|
|
|
|
|
spl.erase(q);
|
|
|
|
|
|
|
|
|
|
q = std::find( spl.begin(), spl.end(), find_by_key );
|
|
|
|
|
q = std::find_if( spl.begin(), spl.end(), find_by_key );
|
|
|
|
|
EXPECT_EQ( q, spl.end() ); // element with that key is no longer found
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|