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

Function TEST

cpp/src/arrow/table_test.cc:156–198  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

154}
155
156TEST(TestTableEquality, Equals) {
157 const int32_t length = 10;
158
159 auto f0 = field("f0", int32());
160 auto f1 = field("f1", uint8());
161 auto f2 = field("f2", int16());
162
163 auto schema = ::arrow::schema({f0, f1, f2});
164 auto schema_same = ::arrow::schema({f0, f1, f2});
165 auto schema_fewer_fields = ::arrow::schema({f0, f1});
166
167 random::RandomArrayGenerator gen(42);
168
169 auto a_f0 = gen.ArrayOf(int32(), length);
170 auto a_f1 = gen.ArrayOf(uint8(), length);
171 auto a_f2 = gen.ArrayOf(int16(), length);
172 auto a_f0_half = a_f0->Slice(0, length / 2);
173 auto a_f1_half = a_f1->Slice(0, length / 2);
174 auto a_f2_half = a_f2->Slice(0, length / 2);
175 auto a_f0_different = gen.ArrayOf(int32(), length);
176 auto a_f1_different = gen.ArrayOf(uint8(), length);
177 auto a_f2_different = gen.ArrayOf(uint16(), length);
178
179 auto table = Table::Make(schema, {a_f0, a_f1, a_f2}, length);
180 auto table_same = Table::Make(schema_same, {a_f0, a_f1, a_f2}, length);
181 auto table_fewer_fields = Table::Make(schema_fewer_fields, {a_f0, a_f1}, length);
182 auto table_half =
183 Table::Make(schema_fewer_fields, {a_f0_half, a_f1_half, a_f2_half}, length / 2);
184 auto table_different = Table::Make(
185 schema_fewer_fields, {a_f0_different, a_f1_different, a_f2_different}, length);
186
187 // Same Values
188 ASSERT_TRUE(table->Equals(*table_same));
189
190 // Different number of columns
191 ASSERT_FALSE(table->Equals(*table_fewer_fields));
192
193 // Different number of rows
194 ASSERT_FALSE(table->Equals(*table_half));
195
196 // Different values
197 ASSERT_FALSE(table->Equals(*table_different));
198}
199
200TEST(TestTableEquality, MetadataAndSchema) {
201 const int32_t length = 10;

Callers

nothing calls this directly

Calls 15

key_value_metadataFunction · 0.85
TableFromJSONFunction · 0.85
struct_Function · 0.85
use_schemaMethod · 0.80
use_metadataMethod · 0.80
signed_zeros_equalMethod · 0.80
nans_equalMethod · 0.80
atolMethod · 0.80
use_atolMethod · 0.80
fieldFunction · 0.70
schemaFunction · 0.70
MakeFunction · 0.70

Tested by

no test coverage detected