kou commented on code in PR #15088:
URL: https://github.com/apache/arrow/pull/15088#discussion_r1056998664
##########
ruby/red-arrow/lib/arrow/table.rb:
##########
@@ -492,7 +504,8 @@ def pack
# @macro join_common_after
#
# @since 7.0.0
- def join(right, keys, type: :inner, left_outputs: nil, right_outputs: nil)
+ def join(right, keys = nil, type: :inner, left_outputs: nil,
right_outputs: nil)
Review Comment:
Could you remove spaces around `=` for default value? We use the style in
this project.
```suggestion
def join(right, keys=nil, type: :inner, left_outputs: nil,
right_outputs: nil)
```
##########
ruby/red-arrow/test/test-table.rb:
##########
@@ -1049,27 +1049,29 @@ def setup
number: [10, 20, 30])
table2 = Arrow::Table.new(key: [3, 1],
string: ["three", "one"])
- assert_equal(Arrow::Table.new([
- ["key", [1, 3]],
- ["number", [10, 30]],
- ["key", [1, 3]],
- ["string", ["one", "three"]],
- ]),
- table1.join(table2, "key"))
+ expected = Arrow::Table.new([
+ ["key", [1, 3]],
+ ["number", [10, 30]],
+ ["key", [1, 3]],
+ ["string", ["one", "three"]]
+ ])
+ assert_equal(expected, table1.join(table2, "key"))
+ assert_equal(expected, table1.join(table2))
end
test("keys: Symbol") do
table1 = Arrow::Table.new(key: [1, 2, 3],
number: [10, 20, 30])
table2 = Arrow::Table.new(key: [3, 1],
string: ["three", "one"])
- assert_equal(Arrow::Table.new([
- ["key", [1, 3]],
- ["number", [10, 30]],
- ["key", [1, 3]],
- ["string", ["one", "three"]],
- ]),
- table1.join(table2, :key))
+ expected = Arrow::Table.new([
+ ["key", [1, 3]],
+ ["number", [10, 30]],
+ ["key", [1, 3]],
+ ["string", ["one", "three"]]
+ ])
+ assert_equal(expected, table1.join(table2, :key))
+ assert_equal(expected, table1.join(table2))
Review Comment:
This is redundant. Because it's the same assertion as the above newly added
assertion.
##########
ruby/red-arrow/test/test-table.rb:
##########
@@ -1049,27 +1049,29 @@ def setup
number: [10, 20, 30])
table2 = Arrow::Table.new(key: [3, 1],
string: ["three", "one"])
- assert_equal(Arrow::Table.new([
- ["key", [1, 3]],
- ["number", [10, 30]],
- ["key", [1, 3]],
- ["string", ["one", "three"]],
- ]),
- table1.join(table2, "key"))
+ expected = Arrow::Table.new([
+ ["key", [1, 3]],
+ ["number", [10, 30]],
+ ["key", [1, 3]],
+ ["string", ["one", "three"]]
+ ])
+ assert_equal(expected, table1.join(table2, "key"))
+ assert_equal(expected, table1.join(table2))
Review Comment:
Could you create a new test without changing existing `keys: String` test?
`keys: String` test is for specifying a `String` as `keys`. But new
assertion is for specifying nothing. `test("no keys")` is a new test name
candidate.
##########
ruby/red-arrow/test/test-table.rb:
##########
@@ -1079,15 +1081,16 @@ def setup
table2 = Arrow::Table.new(key1: [1, 2, 2],
key2: [100, 20, 50],
string: ["1-100", "2-20", "2-50"])
- assert_equal(Arrow::Table.new([
- ["key1", [1, 2]],
- ["key2", [100, 20]],
- ["number", [1100, 2020]],
- ["key1", [1, 2]],
- ["key2", [100, 20]],
- ["string", ["1-100", "2-20"]],
- ]),
- table1.join(table2, ["key1", :key2]))
+ expected = Arrow::Table.new([
+ ["key1", [1, 2]],
+ ["key2", [100, 20]],
+ ["number", [1100, 2020]],
+ ["key1", [1, 2]],
+ ["key2", [100, 20]],
+ ["string", ["1-100", "2-20"]],
+ ])
+ assert_equal(expected, table1.join(table2, ["key1", :key2]))
+ assert_equal(expected, table1.join(table2))
Review Comment:
ditto.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]