Files
parallel-hashmap/tests/dump_load_test.cc
T

83 lines
1.8 KiB
C++
Raw Normal View History

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 {
namespace container_internal {
namespace {
2019-08-18 22:50:47 +08:00
using ::phmap::flat_hash_set;
using ::phmap::flat_hash_map;
using ::phmap::parallel_flat_hash_map;
using ::phmap::BinaryOutputArchive;
using ::phmap::BinaryInputArchive;
2019-08-18 22:50:47 +08:00
TEST(DumpLoad, FlatHashSet_uin32) {
flat_hash_set<uint32_t> st1;
2019-08-18 22:50:47 +08:00
BinaryOutputArchive ar_out("./dump.data");
2019-08-18 22:50:47 +08:00
st1.insert(1991);
st1.insert(1202);
2019-08-18 22:50:47 +08:00
EXPECT_TRUE(st1.dump(ar_out));
2019-08-18 22:50:47 +08:00
flat_hash_set<uint32_t> st2;
2019-08-18 22:50:47 +08:00
BinaryInputArchive ar_in("./dump.data");
EXPECT_TRUE(st2.load(ar_in));
EXPECT_EQ(2, st2.size());
2019-08-18 22:50:47 +08:00
EXPECT_TRUE(st2.count(1991));
EXPECT_TRUE(st2.count(1202));
2019-08-18 22:50:47 +08:00
}
TEST(DumpLoad, FlatHashMap_uint64_uint32) {
flat_hash_map<uint64_t, uint32_t> mp1;
BinaryOutputArchive ar_out("./dump.data");
mp1[78731] = 99;
mp1[13141] = 299;
mp1[2651] = 101;
EXPECT_TRUE(mp1.dump(ar_out));
flat_hash_map<uint64_t, uint32_t> mp2;
BinaryInputArchive ar_in("./dump.data");
EXPECT_TRUE(mp2.load(ar_in));
EXPECT_EQ(3, mp2.size());
EXPECT_TRUE(mp2.count(78731));
EXPECT_TRUE(mp2.count(13141));
EXPECT_EQ(99, mp2.at(78731));
EXPECT_EQ(101, mp2.at(2651));
}
TEST(DumpLoad, ParallelFlatHashMap_uint64_uint32) {
parallel_flat_hash_map<uint64_t, uint32_t> mp1;
BinaryOutputArchive ar_out("./dump.data");
2019-08-18 22:50:47 +08:00
mp1[100] = 99;
mp1[300] = 299;
mp1[101] = 992;
mp1[1300] = 2991;
mp1[1130] = 299;
mp1[2130] = 1299;
EXPECT_TRUE(mp1.dump(ar_out));
2019-08-18 22:50:47 +08:00
parallel_flat_hash_map<uint64_t, uint32_t> mp2;
BinaryInputArchive ar_in("./dump.data");
2019-08-18 22:50:47 +08:00
EXPECT_TRUE(mp2.load(ar_in));
2019-08-18 22:50:47 +08:00
EXPECT_EQ(6, mp2.size());
EXPECT_EQ(99, mp2[100]);
EXPECT_EQ(299, mp2[300]);
EXPECT_EQ(299, mp2[1130]);
EXPECT_EQ(1299, mp2[2130]);
}
}
}
}