MCPcopy Create free account
hub / github.com/apache/arrow / MatchAndExplain

Method MatchAndExplain

cpp/src/arrow/testing/matchers.h:88–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86 *os << array->ToString();
87 }
88 bool MatchAndExplain(
89 const arg_type& arg,
90 ::testing::MatchResultListener* result_listener) const override {
91 for (int64_t i = 0; i < array->length(); ++i) {
92 std::shared_ptr<Scalar> scalar;
93 auto maybe_scalar = array->GetScalar(i);
94 if (maybe_scalar.ok()) {
95 scalar = maybe_scalar.ValueOrDie();
96 } else {
97 *result_listener << "GetScalar() had status "
98 << maybe_scalar.status().ToString() << "at index " << i
99 << " in the input JSON Array";
100 return false;
101 }
102
103 if (scalar->Equals(*arg)) return true;
104 }
105 *result_listener << "Argument scalar: '" << arg->ToString()
106 << "' matches no scalar from " << array->ToString();
107 return false;
108 }
109 const std::shared_ptr<DataType> type_;
110 const std::string array_json_;
111 std::shared_ptr<Array> array;

Callers

nothing calls this directly

Calls 7

ValueOrDieMethod · 0.80
lengthMethod · 0.45
GetScalarMethod · 0.45
okMethod · 0.45
ToStringMethod · 0.45
statusMethod · 0.45
EqualsMethod · 0.45

Tested by

no test coverage detected