19 #include <gtest/gtest.h>
23 #include "gen-cpp/RuntimeProfile_types.h"
29 TEST(ThriftUtil, SimpleSerializeDeserialize) {
32 for (
int i = 0; i < 2; ++i) {
33 bool compact = (i == 0);
37 counter.__set_name(
"Test");
38 counter.__set_unit(TUnit::UNIT);
39 counter.__set_value(123);
42 status = serializer.
Serialize(&counter, &msg);
43 EXPECT_TRUE(status.
ok());
45 uint8_t* buffer1 = NULL;
46 uint8_t* buffer2 = NULL;
50 status = serializer.
Serialize(&counter, &len1, &buffer1);
51 EXPECT_TRUE(status.
ok());
53 EXPECT_EQ(len1, msg.size());
54 EXPECT_TRUE(memcmp(buffer1, &msg[0], len1) == 0);
57 status = serializer.
Serialize(&counter, &len2, &buffer2);
58 EXPECT_TRUE(status.
ok());
60 EXPECT_EQ(len1, len2);
61 EXPECT_TRUE(buffer1 == buffer2);
63 TCounter deserialized_counter;
65 EXPECT_TRUE(status.
ok());
66 EXPECT_EQ(len1, len2);
67 EXPECT_TRUE(counter == deserialized_counter);
87 int main(
int argc,
char **argv) {
88 ::testing::InitGoogleTest(&argc, argv);
89 return RUN_ALL_TESTS();
TNetworkAddress MakeNetworkAddress(const string &hostname, int port)
bool TNetworkAddressComparator(const TNetworkAddress &a, const TNetworkAddress &b)
Status Serialize(T *obj, std::vector< uint8_t > *result)
Serializes obj into result. Result will contain a copy of the memory.
int main(int argc, char **argv)
Status DeserializeThriftMsg(JNIEnv *env, jbyteArray serialized_msg, T *deserialized_msg)