1616#include " google/cloud/testing_util/is_proto_equal.h"
1717#include < google/protobuf/text_format.h>
1818#include < gmock/gmock.h>
19+ #include < gtest/gtest.h>
1920#include < sstream>
2021#include < tuple>
2122
@@ -27,21 +28,24 @@ namespace {
2728
2829using ::google::cloud::testing_util::IsProtoEqual;
2930using ::testing::HasSubstr;
31+ using ::testing::IsEmpty;
3032using ::testing::Pair;
3133using ::testing::UnorderedElementsAre;
3234
3335TEST (Message, Empty) {
3436 auto const m = MessageBuilder{}.Build ();
35- EXPECT_TRUE (m.data ().empty ());
36- EXPECT_TRUE (m.attributes ().empty ());
37+ EXPECT_THAT (m.data (), IsEmpty ());
38+
39+ EXPECT_THAT (m.attributes (), IsEmpty ());
3740}
3841
3942TEST (Message, SetDataSimple) {
4043 auto const m0 = MessageBuilder{}.SetData (" contents-0" ).Build ();
4144 EXPECT_EQ (" contents-0" , m0.data ());
42- EXPECT_TRUE (m0.attributes ().empty ());
43- EXPECT_TRUE (m0.ordering_key ().empty ());
44- EXPECT_TRUE (m0.message_id ().empty ());
45+ EXPECT_THAT (m0.attributes (), IsEmpty ());
46+ EXPECT_THAT (m0.ordering_key (), IsEmpty ());
47+
48+ EXPECT_THAT (m0.message_id (), IsEmpty ());
4549
4650 auto const m1 = MessageBuilder{}.SetData (" contents-1" ).Build ();
4751 EXPECT_EQ (" contents-1" , m1.data ());
@@ -56,9 +60,10 @@ TEST(Message, SetDataSimple) {
5660TEST (Message, SetOrderingKey) {
5761 auto const m0 = MessageBuilder{}.SetOrderingKey (" key-0" ).Build ();
5862 EXPECT_EQ (" key-0" , m0.ordering_key ());
59- EXPECT_TRUE (m0.attributes ().empty ());
60- EXPECT_TRUE (m0.data ().empty ());
61- EXPECT_TRUE (m0.message_id ().empty ());
63+ EXPECT_THAT (m0.attributes (), IsEmpty ());
64+ EXPECT_THAT (m0.data (), IsEmpty ());
65+
66+ EXPECT_THAT (m0.message_id (), IsEmpty ());
6267
6368 auto const m1 = MessageBuilder{}.SetOrderingKey (" key-1" ).Build ();
6469 EXPECT_EQ (" key-1" , m1.ordering_key ());
@@ -76,11 +81,13 @@ TEST(Message, InsertAttributeSimple) {
7681 .InsertAttribute (" k2" , " v2" )
7782 .InsertAttribute (" k2" , " v3" )
7883 .Build ();
79- EXPECT_TRUE (m0.data ().empty ());
84+ EXPECT_THAT (m0.data (), IsEmpty ());
85+
8086 EXPECT_THAT (m0.attributes (),
8187 UnorderedElementsAre (Pair (" k1" , " v1" ), Pair (" k2" , " v2" )));
82- EXPECT_TRUE (m0.ordering_key ().empty ());
83- EXPECT_TRUE (m0.message_id ().empty ());
88+ EXPECT_THAT (m0.ordering_key (), IsEmpty ());
89+
90+ EXPECT_THAT (m0.message_id (), IsEmpty ());
8491}
8592
8693TEST (Message, SetAttributeSimple) {
@@ -89,11 +96,13 @@ TEST(Message, SetAttributeSimple) {
8996 .SetAttribute (" k2" , " v2" )
9097 .SetAttribute (" k2" , " v3" )
9198 .Build ();
92- EXPECT_TRUE (m0.data ().empty ());
99+ EXPECT_THAT (m0.data (), IsEmpty ());
100+
93101 EXPECT_THAT (m0.attributes (),
94102 UnorderedElementsAre (Pair (" k1" , " v1" ), Pair (" k2" , " v3" )));
95- EXPECT_TRUE (m0.ordering_key ().empty ());
96- EXPECT_TRUE (m0.message_id ().empty ());
103+ EXPECT_THAT (m0.ordering_key (), IsEmpty ());
104+
105+ EXPECT_THAT (m0.message_id (), IsEmpty ());
97106}
98107
99108TEST (Message, SetAttributesIteratorSimple) {
@@ -103,21 +112,25 @@ TEST(Message, SetAttributesIteratorSimple) {
103112 auto const m0 = MessageBuilder{}
104113 .SetAttributes (attributes.begin (), attributes.end ())
105114 .Build ();
106- EXPECT_TRUE (m0.data ().empty ());
115+ EXPECT_THAT (m0.data (), IsEmpty ());
116+
107117 EXPECT_THAT (m0.attributes (),
108118 UnorderedElementsAre (Pair (" k1" , " v1" ), Pair (" k2" , " v2" )));
109- EXPECT_TRUE (m0.ordering_key ().empty ());
110- EXPECT_TRUE (m0.message_id ().empty ());
119+ EXPECT_THAT (m0.ordering_key (), IsEmpty ());
120+
121+ EXPECT_THAT (m0.message_id (), IsEmpty ());
111122}
112123
113124TEST (Message, SetAttributesVectorStdPairSimple) {
114125 auto const m0 =
115126 MessageBuilder{}.SetAttributes ({{" k0" , " v0" }, {" k1" , " v1" }}).Build ();
116- EXPECT_TRUE (m0.data ().empty ());
127+ EXPECT_THAT (m0.data (), IsEmpty ());
128+
117129 EXPECT_THAT (m0.attributes (),
118130 UnorderedElementsAre (Pair (" k0" , " v0" ), Pair (" k1" , " v1" )));
119- EXPECT_TRUE (m0.ordering_key ().empty ());
120- EXPECT_TRUE (m0.message_id ().empty ());
131+ EXPECT_THAT (m0.ordering_key (), IsEmpty ());
132+
133+ EXPECT_THAT (m0.message_id (), IsEmpty ());
121134}
122135
123136TEST (Message, SetAttributesVectorStdTupleSimple) {
@@ -263,6 +276,16 @@ TEST(Message, SetAttributeFriend) {
263276 UnorderedElementsAre (Pair (" k1" , " v1" ), Pair (" k2" , " v3" )));
264277}
265278
279+ TEST (Message, GetAttributeFriend) {
280+ auto m0 = MessageBuilder{}.SetAttributes ({{" k0" , " v0" }}).Build ();
281+
282+ auto const v0 = pubsub_internal::GetAttribute (" k0" , m0);
283+ auto const v1 = pubsub_internal::GetAttribute (" k1" , m0);
284+
285+ EXPECT_EQ (v0, " v0" );
286+ EXPECT_THAT (v1, IsEmpty ());
287+ }
288+
266289} // namespace
267290GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
268291} // namespace pubsub
0 commit comments