2019-08-18 22:50:47 +08:00
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
|
|
#include "gtest/gtest.h"
|
|
|
|
|
|
2019-08-23 10:21:13 +08:00
|
|
|
#include "parallel_hashmap/phmap_dump.h"
|
2019-08-18 22:50:47 +08:00
|
|
|
|
|
|
|
|
namespace phmap {
|
2020-07-27 09:14:43 -04:00
|
|
|
namespace priv {
|
2019-08-18 22:50:47 +08:00
|
|
|
namespace {
|
2019-08-20 00:48:22 +08:00
|
|
|
|
2022-05-07 10:12:35 -04:00
|
|
|
TEST(DumpLoad, FlatHashSet_uint32) {
|
2019-08-25 10:22:44 -04:00
|
|
|
phmap::flat_hash_set<uint32_t> st1 = { 1991, 1202 };
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
phmap::BinaryOutputArchive ar_out("./dump.data");
|
2021-12-26 19:55:46 -05:00
|
|
|
EXPECT_TRUE(st1.phmap_dump(ar_out));
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
phmap::flat_hash_set<uint32_t> st2;
|
|
|
|
|
{
|
|
|
|
|
phmap::BinaryInputArchive ar_in("./dump.data");
|
2021-12-26 19:55:46 -05:00
|
|
|
EXPECT_TRUE(st2.phmap_load(ar_in));
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
|
|
|
|
EXPECT_TRUE(st1 == st2);
|
2019-08-18 22:50:47 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST(DumpLoad, FlatHashMap_uint64_uint32) {
|
2019-08-25 10:22:44 -04:00
|
|
|
phmap::flat_hash_map<uint64_t, uint32_t> mp1 = {
|
|
|
|
|
{ 78731, 99}, {13141, 299}, {2651, 101} };
|
2019-08-18 22:50:47 +08:00
|
|
|
|
2019-08-25 10:22:44 -04:00
|
|
|
{
|
|
|
|
|
phmap::BinaryOutputArchive ar_out("./dump.data");
|
2021-12-26 19:55:46 -05:00
|
|
|
EXPECT_TRUE(mp1.phmap_dump(ar_out));
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
2019-08-18 22:50:47 +08:00
|
|
|
|
2019-08-25 10:22:44 -04:00
|
|
|
phmap::flat_hash_map<uint64_t, uint32_t> mp2;
|
|
|
|
|
{
|
|
|
|
|
phmap::BinaryInputArchive ar_in("./dump.data");
|
2021-12-26 19:55:46 -05:00
|
|
|
EXPECT_TRUE(mp2.phmap_load(ar_in));
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
2019-08-18 22:50:47 +08:00
|
|
|
|
2019-08-25 10:22:44 -04:00
|
|
|
EXPECT_TRUE(mp1 == mp2);
|
2019-08-18 22:50:47 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TEST(DumpLoad, ParallelFlatHashMap_uint64_uint32) {
|
2019-08-25 10:22:44 -04:00
|
|
|
phmap::parallel_flat_hash_map<uint64_t, uint32_t> mp1 = {
|
|
|
|
|
{99, 299}, {992, 2991}, {299, 1299} };
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
phmap::BinaryOutputArchive ar_out("./dump.data");
|
2021-12-26 19:55:46 -05:00
|
|
|
EXPECT_TRUE(mp1.phmap_dump(ar_out));
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
phmap::parallel_flat_hash_map<uint64_t, uint32_t> mp2;
|
|
|
|
|
{
|
|
|
|
|
phmap::BinaryInputArchive ar_in("./dump.data");
|
2021-12-26 19:55:46 -05:00
|
|
|
EXPECT_TRUE(mp2.phmap_load(ar_in));
|
2019-08-25 10:22:44 -04:00
|
|
|
}
|
|
|
|
|
EXPECT_TRUE(mp1 == mp2);
|
2019-08-18 22:50:47 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-08-20 00:48:22 +08:00
|
|
|
}
|
|
|
|
|
|