test prevector::swap
- add a swap operation to prevector tests (fails due to broken prevector::swap) - fix 2 prevector test operation conditions that were impossible
This commit is contained in:
parent
1e2c29f263
commit
4ed41a2b61
1 changed files with 13 additions and 2 deletions
|
@ -19,9 +19,11 @@ template<unsigned int N, typename T>
|
|||
class prevector_tester {
|
||||
typedef std::vector<T> realtype;
|
||||
realtype real_vector;
|
||||
realtype real_vector_alt;
|
||||
|
||||
typedef prevector<N, T> pretype;
|
||||
pretype pre_vector;
|
||||
pretype pre_vector_alt;
|
||||
|
||||
typedef typename pretype::size_type Size;
|
||||
|
||||
|
@ -149,6 +151,12 @@ public:
|
|||
pre_vector.shrink_to_fit();
|
||||
test();
|
||||
}
|
||||
|
||||
void swap() {
|
||||
real_vector.swap(real_vector_alt);
|
||||
pre_vector.swap(pre_vector_alt);
|
||||
test();
|
||||
}
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_CASE(PrevectorTestInt)
|
||||
|
@ -204,12 +212,15 @@ BOOST_AUTO_TEST_CASE(PrevectorTestInt)
|
|||
if (test.size() > 0) {
|
||||
test.update(insecure_rand() % test.size(), insecure_rand());
|
||||
}
|
||||
if (((r >> 11) & 1024) == 11) {
|
||||
if (((r >> 11) % 1024) == 11) {
|
||||
test.clear();
|
||||
}
|
||||
if (((r >> 21) & 512) == 12) {
|
||||
if (((r >> 21) % 512) == 12) {
|
||||
test.assign(insecure_rand() % 32, insecure_rand());
|
||||
}
|
||||
if (((r >> 15) % 64) == 3) {
|
||||
test.swap();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue