diff options
Diffstat (limited to 'test/std/containers/unord/unord.map/rehash.pass.cpp')
-rw-r--r-- | test/std/containers/unord/unord.map/rehash.pass.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/std/containers/unord/unord.map/rehash.pass.cpp b/test/std/containers/unord/unord.map/rehash.pass.cpp index 84ece2355511..e1a882c69ffd 100644 --- a/test/std/containers/unord/unord.map/rehash.pass.cpp +++ b/test/std/containers/unord/unord.map/rehash.pass.cpp @@ -22,6 +22,12 @@ #include "min_allocator.h" template <class C> +void rehash_postcondition(const C& c, size_t n) +{ + assert(c.bucket_count() >= c.size() / c.max_load_factor() && c.bucket_count() >= n); +} + +template <class C> void test(const C& c) { assert(c.size() == 4); @@ -49,13 +55,16 @@ int main() test(c); assert(c.bucket_count() >= 5); c.rehash(3); + rehash_postcondition(c, 3); assert(c.bucket_count() == 5); test(c); c.max_load_factor(2); c.rehash(3); + rehash_postcondition(c, 3); assert(c.bucket_count() == 3); test(c); c.rehash(31); + rehash_postcondition(c, 31); assert(c.bucket_count() == 31); test(c); } @@ -77,13 +86,16 @@ int main() test(c); assert(c.bucket_count() >= 5); c.rehash(3); + rehash_postcondition(c, 3); assert(c.bucket_count() == 5); test(c); c.max_load_factor(2); c.rehash(3); + rehash_postcondition(c, 3); assert(c.bucket_count() == 3); test(c); c.rehash(31); + rehash_postcondition(c, 31); assert(c.bucket_count() == 31); test(c); } |