Files
3FS/tests/common/utils/TestUnorderedDense.cc
2025-02-27 21:53:53 +08:00

30 lines
682 B
C++

#include <stdexcept>
#include <unordered_map>
#include "common/utils/RobinHood.h"
#include "common/utils/UnorderedDense.h"
#include "tests/GtestHelpers.h"
namespace {
template <class Map>
void insertWhileHashIsZero() {
constexpr auto N = 1000;
Map map;
for (auto i = 0; i < N; ++i) {
map[i] = i;
}
}
TEST(TestUnorderedDense, Normal) {
struct Hash {
size_t operator()(int) const { return 0; }
};
insertWhileHashIsZero<ankerl::unordered_dense::map<int, int, Hash>>();
insertWhileHashIsZero<std::unordered_map<int, int, Hash>>();
ASSERT_THROW((insertWhileHashIsZero<robin_hood::unordered_map<int, int, Hash>>()), std::overflow_error);
}
} // namespace