@@ -69,37 +69,39 @@ TEST_F(TestRecordBatch, Equals) {
6969 auto f1 = field (" f1" , uint8 ());
7070 auto f2 = field (" f2" , int16 ());
7171
72- auto schema0_f0_f1_f2 = schema ({f0, f1, f2});
73- auto schema1_f0_f1_f2 = schema ({f0, f1, f2});
74- auto schema2_f0_f1 = schema ({f0, f1});
72+ auto schema = :: arrow:: schema ({f0, f1, f2});
73+ auto schema_same = :: arrow:: schema ({f0, f1, f2});
74+ auto schema_fewer_fields = :: arrow:: schema ({f0, f1});
7575
7676 random::RandomArrayGenerator gen (42 );
7777
78- auto a0 = gen.ArrayOf (int32 (), length);
79- auto a1 = gen.ArrayOf (uint8 (), length);
80- auto a2 = gen.ArrayOf (int16 (), length);
81- auto a3 = a0->Slice (0 , length / 2 );
82- auto a4 = a1->Slice (0 , length / 2 );
83- auto a5 = gen.ArrayOf (int32 (), length);
84- auto a6 = gen.ArrayOf (uint8 (), length);
85-
86- auto b0_a0_a1_a2 = RecordBatch::Make (schema0_f0_f1_f2, length, {a0, a1, a2});
87- auto b1_a0_a1_a2 = RecordBatch::Make (schema1_f0_f1_f2, length, {a0, a1, a2});
88- auto b2_a0_a1 = RecordBatch::Make (schema2_f0_f1, length, {a0, a1});
89- auto b3_a3_a4_half_rows = RecordBatch::Make (schema2_f0_f1, length / 2 , {a3, a4});
90- auto b4_a5_a6 = RecordBatch::Make (schema2_f0_f1, length, {a5, a6});
78+ auto a_f0 = gen.ArrayOf (int32 (), length);
79+ auto a_f1 = gen.ArrayOf (uint8 (), length);
80+ auto a_f2 = gen.ArrayOf (int16 (), length);
81+ auto a_f0_half = a_f0->Slice (0 , length / 2 );
82+ auto a_f1_half = a_f1->Slice (0 , length / 2 );
83+ auto a_f0_different = gen.ArrayOf (int32 (), length);
84+ auto a_f1_different = gen.ArrayOf (uint8 (), length);
85+
86+ auto b = RecordBatch::Make (schema, length, {a_f0, a_f1, a_f2});
87+ auto b_same = RecordBatch::Make (schema_same, length, {a_f0, a_f1, a_f2});
88+ auto b_fewer_fields = RecordBatch::Make (schema_fewer_fields, length, {a_f0, a_f1});
89+ auto b_fewer_fields_half =
90+ RecordBatch::Make (schema_fewer_fields, length / 2 , {a_f0_half, a_f1_half});
91+ auto b_fewer_fields_different =
92+ RecordBatch::Make (schema_fewer_fields, length, {a_f0_different, a_f1_different});
9193
9294 // Same Values
93- ASSERT_TRUE (b0_a0_a1_a2 ->Equals (*b1_a0_a1_a2 ));
95+ ASSERT_TRUE (b ->Equals (*b_same ));
9496
9597 // Different number of columns
96- ASSERT_FALSE (b0_a0_a1_a2 ->Equals (*b2_a0_a1 ));
98+ ASSERT_FALSE (b ->Equals (*b_fewer_fields ));
9799
98100 // Different number of rows
99- ASSERT_FALSE (b2_a0_a1 ->Equals (*b3_a3_a4_half_rows ));
101+ ASSERT_FALSE (b_fewer_fields ->Equals (*b_fewer_fields_half ));
100102
101103 // Different values
102- ASSERT_FALSE (b2_a0_a1 ->Equals (*b4_a5_a6 ));
104+ ASSERT_FALSE (b_fewer_fields ->Equals (*b_fewer_fields_different ));
103105}
104106
105107class TestRecordBatchEqualOptions : public TestRecordBatch {};
@@ -114,46 +116,46 @@ TEST_F(TestRecordBatchEqualOptions, MetadataAndSchema) {
114116
115117 auto metadata = key_value_metadata ({" foo" }, {" bar" });
116118
117- auto schema0_f0_f1_f2 = schema ({f0, f1, f2});
118- auto schema1_f0_f1_f2_with_metadata = schema ({f0, f1, f2}, metadata);
119- auto schema2_f0_f1_f2b = schema ({f0, f1, f2b});
119+ auto schema = :: arrow:: schema ({f0, f1, f2});
120+ auto schema_with_metadata = :: arrow:: schema ({f0, f1, f2}, metadata);
121+ auto schema_renamed_field = :: arrow:: schema ({f0, f1, f2b});
120122
121123 random::RandomArrayGenerator gen (42 );
122124
123- auto a0 = gen.ArrayOf (int32 (), length);
124- auto a1 = gen.ArrayOf (uint8 (), length);
125- auto a2 = gen.ArrayOf (int16 (), length);
125+ auto a_f0 = gen.ArrayOf (int32 (), length);
126+ auto a_f1 = gen.ArrayOf (uint8 (), length);
127+ auto a_f2 = gen.ArrayOf (int16 (), length);
128+ auto a_f2b = a_f2;
126129
127130 // All RecordBatches have the same values but different schemas.
128- auto b0_f0_f1_f2 = RecordBatch::Make (schema0_f0_f1_f2, length, {a0, a1, a2});
129- auto b1_f0_f1_f2_with_metadata =
130- RecordBatch::Make (schema1_f0_f1_f2_with_metadata, length, {a0, a1, a2});
131- auto b2_f0_f1_f2b = RecordBatch::Make (schema2_f0_f1_f2b, length, {a0, a1, a2});
131+ auto b = RecordBatch::Make (schema, length, {a_f0, a_f1, a_f2});
132+ auto b_with_metadata =
133+ RecordBatch::Make (schema_with_metadata, length, {a_f0, a_f1, a_f2});
134+ auto b_renamed_field =
135+ RecordBatch::Make (schema_renamed_field, length, {a_f0, a_f1, a_f2b});
132136
133137 auto options = EqualOptions::Defaults ();
138+
134139 // Same values and types, but different field names
135- ASSERT_FALSE (b0_f0_f1_f2 ->Equals (*b2_f0_f1_f2b ));
136- ASSERT_TRUE (b0_f0_f1_f2 ->Equals (*b2_f0_f1_f2b , options.use_schema (false )));
137- ASSERT_TRUE (b0_f0_f1_f2 ->ApproxEquals (*b2_f0_f1_f2b ));
138- ASSERT_TRUE (b0_f0_f1_f2 ->ApproxEquals (*b2_f0_f1_f2b , options.use_schema (true )));
140+ ASSERT_FALSE (b ->Equals (*b_renamed_field ));
141+ ASSERT_TRUE (b ->Equals (*b_renamed_field , options.use_schema (false )));
142+ ASSERT_TRUE (b ->ApproxEquals (*b_renamed_field ));
143+ ASSERT_TRUE (b ->ApproxEquals (*b_renamed_field , options.use_schema (true )));
139144
140145 // Different metadata
141- ASSERT_TRUE (b0_f0_f1_f2->Equals (*b1_f0_f1_f2_with_metadata));
142- ASSERT_TRUE (b0_f0_f1_f2->Equals (*b1_f0_f1_f2_with_metadata, options));
143- ASSERT_FALSE (b0_f0_f1_f2->Equals (*b1_f0_f1_f2_with_metadata,
144- /* check_metadata=*/ true ));
145- ASSERT_FALSE (b0_f0_f1_f2->Equals (*b1_f0_f1_f2_with_metadata,
146- /* check_metadata=*/ true , options.use_schema (true )));
147- ASSERT_TRUE (b0_f0_f1_f2->Equals (*b1_f0_f1_f2_with_metadata,
148- /* check_metadata=*/ true , options.use_schema (false )));
149- ASSERT_TRUE (b0_f0_f1_f2->Equals (*b1_f0_f1_f2_with_metadata,
150- options.use_schema (true ).use_metadata (false )));
151- ASSERT_FALSE (b0_f0_f1_f2->Equals (*b1_f0_f1_f2_with_metadata,
152- options.use_schema (true ).use_metadata (true )));
153- ASSERT_TRUE (b0_f0_f1_f2->Equals (*b1_f0_f1_f2_with_metadata,
154- options.use_schema (false ).use_metadata (true )));
155- ASSERT_TRUE (b0_f0_f1_f2->ApproxEquals (*b1_f0_f1_f2_with_metadata,
156- options.use_schema (true ).use_metadata (true )));
146+ ASSERT_TRUE (b->Equals (*b_with_metadata));
147+ ASSERT_TRUE (b->Equals (*b_with_metadata, options));
148+ ASSERT_FALSE (b->Equals (*b_with_metadata,
149+ /* check_metadata=*/ true ));
150+ ASSERT_FALSE (b->Equals (*b_with_metadata,
151+ /* check_metadata=*/ true , options.use_schema (true )));
152+ ASSERT_TRUE (b->Equals (*b_with_metadata,
153+ /* check_metadata=*/ true , options.use_schema (false )));
154+ ASSERT_TRUE (b->Equals (*b_with_metadata, options.use_schema (true ).use_metadata (false )));
155+ ASSERT_FALSE (b->Equals (*b_with_metadata, options.use_schema (true ).use_metadata (true )));
156+ ASSERT_TRUE (b->Equals (*b_with_metadata, options.use_schema (false ).use_metadata (true )));
157+ ASSERT_TRUE (
158+ b->ApproxEquals (*b_with_metadata, options.use_schema (true ).use_metadata (true )));
157159}
158160
159161TEST_F (TestRecordBatchEqualOptions, NaN) {
0 commit comments