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

Class StructArrayBuilderTest

ruby/red-arrow/test/test-struct-array-builder.rb:18–184  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16# under the License.
17
18class StructArrayBuilderTest < Test::Unit::TestCase
19 def setup
20 @data_type = Arrow::StructDataType.new(visible: {type: :boolean},
21 count: {type: :uint64})
22 @builder = Arrow::StructArrayBuilder.new(@data_type)
23 end
24
25 sub_test_case("#append_value") do
26 test("nil") do
27 @builder.append_value(nil)
28 array = @builder.finish
29 assert_equal([
30 [false],
31 [0],
32 ],
33 [
34 array.find_field(0).to_a,
35 array.find_field(1).to_a,
36 ])
37 end
38
39 test("Array") do
40 @builder.append_value([true, 1])
41 @builder.append_value([])
42 @builder.append_value([false])
43 array = @builder.finish
44 assert_equal([
45 [true, nil, false],
46 [1, nil, nil],
47 ],
48 [
49 array.find_field(0).to_a,
50 array.find_field(1).to_a,
51 ])
52 end
53
54 test("Arrow::Struct") do
55 source_array = Arrow::StructArray.new(@data_type, [[true, 1]])
56 struct = source_array.get_value(0)
57 @builder.append_value(struct)
58 array = @builder.finish
59 assert_equal([
60 [true],
61 [1],
62 ],
63 [
64 array.find_field(0).to_a,
65 array.find_field(1).to_a,
66 ])
67 end
68
69 test("Hash") do
70 @builder.append_value(count: 1, visible: true)
71 @builder.append_value(visible: false)
72 @builder.append_value(count: 2)
73 array = @builder.finish
74 assert_equal([
75 [true, false, nil],

Callers

nothing calls this directly

Calls 9

testFunction · 0.85
append_valueMethod · 0.45
finishMethod · 0.45
to_aMethod · 0.45
find_fieldMethod · 0.45
newMethod · 0.45
get_valueMethod · 0.45
append_valuesMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected