Skip to content

Commit 22a3544

Browse files
committed
apply kou suggestion
correct naming correct documentation comment add compare.h document comment on utilities.rst
1 parent e9af625 commit 22a3544

File tree

3 files changed

+59
-50
lines changed

3 files changed

+59
-50
lines changed

cpp/src/arrow/compare.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ class EqualOptions {
9090
bool use_schema() const { return use_schema_; }
9191

9292
/// Return a new EqualOptions object with the "use_schema_" property changed.
93+
///
9394
/// Setting this option is false making the value of \ref EqualOptions::use_metadata_
9495
/// is ignored.
9596
EqualOptions use_schema(bool v) const {

cpp/src/arrow/record_batch_test.cc

Lines changed: 52 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -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

105107
class 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

159161
TEST_F(TestRecordBatchEqualOptions, NaN) {

docs/source/cpp/api/utilities.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ Iterators
4343
.. doxygenclass:: arrow::VectorIterator
4444
:members:
4545

46+
Comparison
47+
==========
48+
49+
.. doxygenclass:: arrow::EqualOptions
50+
:members:
51+
4652
Compression
4753
===========
4854

0 commit comments

Comments
 (0)