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

Class ArrayBuilderTest

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

Source from the content-addressed store, hash-verified

16# under the License.
17
18class ArrayBuilderTest < Test::Unit::TestCase
19 sub_test_case(".build") do
20 def assert_build(builder_class, raw_array)
21 array = builder_class.build(raw_array)
22 assert_equal(raw_array, array.to_a)
23 end
24
25 sub_test_case("generic builder") do
26 test("strings") do
27 assert_build(Arrow::ArrayBuilder,
28 ["Hello", nil, "World"])
29 end
30
31 test("symbols") do
32 array = Arrow::ArrayBuilder.build([:hello, nil, :world])
33 expected_builder = Arrow::StringDictionaryArrayBuilder.new
34 assert_equal(expected_builder.build(["hello", nil, "world"]),
35 array)
36 end
37
38 test("boolean") do
39 assert_build(Arrow::ArrayBuilder,
40 [true, nil, false])
41 end
42
43 test("positive integers") do
44 assert_build(Arrow::ArrayBuilder,
45 [1, nil, 2, nil, 3])
46 end
47
48 test("negative integers") do
49 assert_build(Arrow::ArrayBuilder,
50 [nil, -1, nil, -2, nil, -3])
51 end
52
53 test("times") do
54 assert_build(Arrow::ArrayBuilder,
55 [Time.at(0), Time.at(1), Time.at(2)])
56 end
57
58 test("dates") do
59 assert_build(Arrow::ArrayBuilder,
60 [Date.new(2018, 1, 4), Date.new(2018, 1, 5)])
61 end
62
63 test("datetimes") do
64 assert_build(Arrow::ArrayBuilder,
65 [
66 DateTime.new(2018, 1, 4, 23, 18, 23),
67 DateTime.new(2018, 1, 5, 0, 23, 21),
68 ])
69 end
70
71 test("decimal + string") do
72 raw_array = [BigDecimal("10.1"), "10.1"]
73 array = Arrow::ArrayBuilder.build(raw_array)
74 assert_equal(raw_array.collect(&:to_s), array.to_a)
75 end

Callers

nothing calls this directly

Calls 6

testFunction · 0.85
BigDecimalClass · 0.85
buildMethod · 0.45
newMethod · 0.45
to_aMethod · 0.45
value_data_typeMethod · 0.45

Tested by

no test coverage detected