我的目标是比较protobuf消息中的一些字段。我尝试过MessageDifferencer,但我不想使用反射。我使用的是protobuf 3.4.0。
时间变量存储在protobuf众所周知的类型中,例如google.protobuf.Duration和google.protobuf.Timestamp。
我想使用一个带有两个对象和一个字段名称的宏:
CHECK_GPS_TIME ( expectedGps, storedGps, gps_time );
我期待以下结果:
CHECK ( expectedGps.gps_time().seconds() == storedGps.gps_time().seconds() );
我已经有一个简单类型的宏:
#define CHECK_GPS_FIELD(expected, stored, field) CHECK( expected.field() == stored.field() );