|
|
|
@ -17,10 +17,14 @@ |
|
|
|
|
#include <iosfwd> |
|
|
|
|
#include <map> |
|
|
|
|
|
|
|
|
|
#include "absl/container/flat_hash_map.h" |
|
|
|
|
#include "absl/strings/str_format.h" |
|
|
|
|
#include "gmock/gmock.h" |
|
|
|
|
#include "gtest/gtest.h" |
|
|
|
|
|
|
|
|
|
using testing::Pair; |
|
|
|
|
using testing::UnorderedElementsAre; |
|
|
|
|
|
|
|
|
|
namespace grpc_core { |
|
|
|
|
|
|
|
|
|
// Teach gtest to print names usefully.
|
|
|
|
@ -113,6 +117,23 @@ TEST(UniqueTypeNameTest, UniqueTypeNameHere) { |
|
|
|
|
EXPECT_NE(name1, name2); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST(UniqueTypenameTest, Stringify) { |
|
|
|
|
auto name = GRPC_UNIQUE_TYPE_NAME_HERE("bob"); |
|
|
|
|
EXPECT_EQ("bob", absl::StrFormat("%v", name)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST(UniqueTypeNameTest, Hash) { |
|
|
|
|
auto name1 = GRPC_UNIQUE_TYPE_NAME_HERE("name"); |
|
|
|
|
auto name2 = GRPC_UNIQUE_TYPE_NAME_HERE("name"); |
|
|
|
|
auto name3 = GRPC_UNIQUE_TYPE_NAME_HERE("other"); |
|
|
|
|
absl::flat_hash_map<UniqueTypeName, int> m; |
|
|
|
|
m[name1] = 1; |
|
|
|
|
m[name2] = 2; |
|
|
|
|
m[name3] = 3; |
|
|
|
|
EXPECT_THAT( |
|
|
|
|
m, UnorderedElementsAre(Pair(name1, 1), Pair(name2, 2), Pair(name3, 3))); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} // namespace
|
|
|
|
|
} // namespace grpc_core
|
|
|
|
|
|
|
|
|
|