diff options
| author | Kaz Wesley <[email protected]> | 2016-04-16 06:49:38 -0700 |
|---|---|---|
| committer | Kaz Wesley <[email protected]> | 2016-04-16 08:05:11 -0700 |
| commit | 4ed41a2b611dfd328fe6f72312d6c596650f03f8 (patch) | |
| tree | 392a381898d4975e90da2689bd707d9889ed9593 /src/test/prevector_tests.cpp | |
| parent | prevector: destroy elements only via erase() (diff) | |
| download | discoin-4ed41a2b611dfd328fe6f72312d6c596650f03f8.tar.xz discoin-4ed41a2b611dfd328fe6f72312d6c596650f03f8.zip | |
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
Diffstat (limited to 'src/test/prevector_tests.cpp')
| -rw-r--r-- | src/test/prevector_tests.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/test/prevector_tests.cpp b/src/test/prevector_tests.cpp index 01a45b540..b39b90353 100644 --- a/src/test/prevector_tests.cpp +++ b/src/test/prevector_tests.cpp @@ -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(); + } } } } |