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

Function TEST

cpp/src/arrow/table_test.cc:158–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 11

key_value_metadataFunction · 0.85
TableFromJSONFunction · 0.85
struct_Function · 0.85
fieldFunction · 0.70
schemaFunction · 0.70
MakeFunction · 0.70
DefaultsFunction · 0.70
ArrayOfMethod · 0.45
SliceMethod · 0.45
EqualsMethod · 0.45
WithMetadataMethod · 0.45

Tested by

no test coverage detected