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

Method test_flatten

c_glib/test/test-struct-array.rb:53–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51 end
52
53 def test_flatten
54 fields = [
55 Arrow::Field.new("score", Arrow::Int8DataType.new),
56 Arrow::Field.new("enabled", Arrow::BooleanDataType.new),
57 ]
58 data_type = Arrow::StructDataType.new(fields)
59 builder = Arrow::StructArrayBuilder.new(data_type)
60
61 builder.append_value
62 builder.get_field_builder(0).append_value(-29)
63 builder.get_field_builder(1).append_value(true)
64
65 builder.append_value
66 builder.field_builders[0].append_value(2)
67 builder.field_builders[1].append_value(false)
68
69 array = builder.finish
70 values = array.length.times.collect do |i|
71 if i.zero?
72 [
73 array.get_field(0).get_value(i),
74 array.get_field(1).get_value(i),
75 ]
76 else
77 array.flatten.collect do |field|
78 field.get_value(i)
79 end
80 end
81 end
82 assert_equal([
83 [-29, true],
84 [2, false],
85 ],
86 values)
87 end
88end

Callers

nothing calls this directly

Calls 5

newMethod · 0.45
append_valueMethod · 0.45
finishMethod · 0.45
lengthMethod · 0.45
get_valueMethod · 0.45

Tested by

no test coverage detected