diff options
Diffstat (limited to 'unittests/ADT/HashingTest.cpp')
-rw-r--r-- | unittests/ADT/HashingTest.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/unittests/ADT/HashingTest.cpp b/unittests/ADT/HashingTest.cpp index a6a0034129..a9458bb5a5 100644 --- a/unittests/ADT/HashingTest.cpp +++ b/unittests/ADT/HashingTest.cpp @@ -60,6 +60,17 @@ TEST(HashingTest, HashValueBasicTest) { EXPECT_EQ(hash_value(c), hash_value('x')); EXPECT_EQ(hash_value('4'), hash_value('0' + 4)); EXPECT_EQ(hash_value(addr), hash_value(&y)); + + EXPECT_EQ(hash_combine(42, 43), hash_value(std::make_pair(42, 43))); + EXPECT_NE(hash_combine(43, 42), hash_value(std::make_pair(42, 43))); + EXPECT_NE(hash_combine(42, 43), hash_value(std::make_pair(42ull, 43ull))); + EXPECT_NE(hash_combine(42, 43), hash_value(std::make_pair(42, 43ull))); + EXPECT_NE(hash_combine(42, 43), hash_value(std::make_pair(42ull, 43))); + EXPECT_EQ(hash_combine(42, hash_combine(43, hash_combine(44, 45))), + hash_value( + std::make_pair(42, std::make_pair(43, std::make_pair(44, 45))))); + EXPECT_EQ(hash_combine(42, 43), hash_value(std::make_pair(42, 43))); + EXPECT_EQ(hash_combine(42, 43), hash_value(std::make_pair(42, 43))); } template <typename T, size_t N> T *begin(T (&arr)[N]) { return arr; } |