35 #include <google/protobuf/unittest.pb.h>
50 using protobuf_unittest::TestAllTypes;
62 TEST_F(DefaultFieldComparatorTest, RecursesIntoGroup) {
68 TEST_F(DefaultFieldComparatorTest, RecursesIntoNestedMessage) {
70 descriptor_->FindFieldByName(
"optional_nested_message");
75 TEST_F(DefaultFieldComparatorTest, RecursesIntoForeignMessage) {
77 descriptor_->FindFieldByName(
"optional_foreign_message");
82 TEST_F(DefaultFieldComparatorTest, Int32Comparison) {
95 TEST_F(DefaultFieldComparatorTest, Int64Comparison) {
108 TEST_F(DefaultFieldComparatorTest, UInt32Comparison) {
122 TEST_F(DefaultFieldComparatorTest, UInt64Comparison) {
136 TEST_F(DefaultFieldComparatorTest, BooleanComparison) {
149 TEST_F(DefaultFieldComparatorTest, EnumComparison) {
151 descriptor_->FindFieldByName(
"optional_nested_enum");
152 message_1_.set_optional_nested_enum(TestAllTypes::BAR);
153 message_2_.set_optional_nested_enum(TestAllTypes::BAR);
158 message_2_.set_optional_nested_enum(TestAllTypes::BAZ);
163 TEST_F(DefaultFieldComparatorTest, StringComparison) {
177 TEST_F(DefaultFieldComparatorTest, FloatingPointComparisonExact) {
206 TEST_F(DefaultFieldComparatorTest, FloatingPointComparisonApproximate) {
214 message_1_.set_optional_double(2.3000000000000003);
215 message_2_.set_optional_double(2.3000000000000007);
245 TEST_F(DefaultFieldComparatorTest, FloatingPointComparisonTreatNaNsAsEqual) {
292 TEST_F(DefaultFieldComparatorTest,
293 FloatingPointComparisonWithinFractionOrMargin) {
364 message_1_.set_optional_float(std::numeric_limits<float>::infinity());
365 message_2_.set_optional_float(std::numeric_limits<float>::infinity());
366 message_1_.set_optional_double(std::numeric_limits<double>::infinity());
367 message_2_.set_optional_double(std::numeric_limits<double>::infinity());
379 message_1_.set_optional_float(-std::numeric_limits<float>::infinity());
380 message_2_.set_optional_float(-std::numeric_limits<float>::infinity());
381 message_1_.set_optional_double(-std::numeric_limits<double>::infinity());
382 message_2_.set_optional_double(-std::numeric_limits<double>::infinity());
393 message_1_.set_optional_float(std::numeric_limits<float>::infinity());
395 message_1_.set_optional_double(std::numeric_limits<double>::infinity());
407 TEST_F(DefaultFieldComparatorTest,
408 FloatingPointComparisonWithinDefaultFractionOrMargin) {
478 TEST_F(DefaultFieldComparatorTest, RepeatedFieldComparison) {