MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / IsEqual

Function IsEqual

testing/testrunner/runner_lib.cc:276–295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

274}
275
276bool IsEqual(const ValueProto& expected, const ValueProto& actual) {
277 static auto* kFieldComparator = []() {
278 auto* field_comparator = new google::protobuf::util::DefaultFieldComparator();
279 field_comparator->set_treat_nan_as_equal(true);
280 return field_comparator;
281 }();
282 static auto* kDifferencer = []() {
283 auto* differencer = new google::protobuf::util::MessageDifferencer();
284 differencer->set_message_field_comparison(
285 google::protobuf::util::MessageDifferencer::EQUIVALENT);
286 differencer->set_field_comparator(kFieldComparator);
287 const auto* descriptor = cel::expr::MapValue::descriptor();
288 const auto* entries_field = descriptor->FindFieldByName("entries");
289 const auto* key_field =
290 entries_field->message_type()->FindFieldByName("key");
291 differencer->TreatAsMap(entries_field, key_field);
292 return differencer;
293 }();
294 return kDifferencer->Compare(expected, actual);
295}
296
297MATCHER_P(MatchesValue, expected, "") { return IsEqual(arg, expected); }
298} // namespace

Callers 1

runner_lib.ccFile · 0.85

Calls 2

FindFieldByNameMethod · 0.45
CompareMethod · 0.45

Tested by

no test coverage detected