11#include " doctest/doctest.h"
22
3+ // #include "sparrow.hpp"
4+
35#include " utils.hpp"
46
57namespace sparrow_ipc
@@ -15,123 +17,123 @@ namespace sparrow_ipc
1517 CHECK_EQ (utils::align_to_8 (16 ), 16 );
1618 }
1719
18- TEST_CASE (" get_flatbuffer_type" )
19- {
20- flatbuffers::FlatBufferBuilder builder;
21- SUBCASE (" Null and Boolean types" )
22- {
23- CHECK_EQ (utils::get_flatbuffer_type (builder, " n" ).first , org::apache::arrow::flatbuf::Type::Null);
24- CHECK_EQ (utils::get_flatbuffer_type (builder, " b" ).first , org::apache::arrow::flatbuf::Type::Bool);
25- }
26-
27- SUBCASE (" Integer types" )
28- {
29- CHECK_EQ (utils::get_flatbuffer_type (builder, " c" ).first , org::apache::arrow::flatbuf::Type::Int); // INT8
30- CHECK_EQ (utils::get_flatbuffer_type (builder, " C" ).first , org::apache::arrow::flatbuf::Type::Int); // UINT8
31- CHECK_EQ (utils::get_flatbuffer_type (builder, " s" ).first , org::apache::arrow::flatbuf::Type::Int); // INT16
32- CHECK_EQ (utils::get_flatbuffer_type (builder, " S" ).first , org::apache::arrow::flatbuf::Type::Int); // UINT16
33- CHECK_EQ (utils::get_flatbuffer_type (builder, " i" ).first , org::apache::arrow::flatbuf::Type::Int); // INT32
34- CHECK_EQ (utils::get_flatbuffer_type (builder, " I" ).first , org::apache::arrow::flatbuf::Type::Int); // UINT32
35- CHECK_EQ (utils::get_flatbuffer_type (builder, " l" ).first , org::apache::arrow::flatbuf::Type::Int); // INT64
36- CHECK_EQ (utils::get_flatbuffer_type (builder, " L" ).first , org::apache::arrow::flatbuf::Type::Int); // UINT64
37- }
38-
39- SUBCASE (" Floating Point types" )
40- {
41- CHECK_EQ (utils::get_flatbuffer_type (builder, " e" ).first , org::apache::arrow::flatbuf::Type::FloatingPoint); // HALF_FLOAT
42- CHECK_EQ (utils::get_flatbuffer_type (builder, " f" ).first , org::apache::arrow::flatbuf::Type::FloatingPoint); // FLOAT
43- CHECK_EQ (utils::get_flatbuffer_type (builder, " g" ).first , org::apache::arrow::flatbuf::Type::FloatingPoint); // DOUBLE
44- }
45-
46- SUBCASE (" String and Binary types" )
47- {
48- CHECK_EQ (utils::get_flatbuffer_type (builder, " u" ).first , org::apache::arrow::flatbuf::Type::Utf8); // STRING
49- CHECK_EQ (utils::get_flatbuffer_type (builder, " U" ).first , org::apache::arrow::flatbuf::Type::LargeUtf8); // LARGE_STRING
50- CHECK_EQ (utils::get_flatbuffer_type (builder, " z" ).first , org::apache::arrow::flatbuf::Type::Binary); // BINARY
51- CHECK_EQ (utils::get_flatbuffer_type (builder, " Z" ).first , org::apache::arrow::flatbuf::Type::LargeBinary); // LARGE_BINARY
52- CHECK_EQ (utils::get_flatbuffer_type (builder, " vu" ).first , org::apache::arrow::flatbuf::Type::Utf8View); // STRING_VIEW
53- CHECK_EQ (utils::get_flatbuffer_type (builder, " vz" ).first , org::apache::arrow::flatbuf::Type::BinaryView); // BINARY_VIEW
54- }
55-
56- SUBCASE (" Date types" )
57- {
58- CHECK_EQ (utils::get_flatbuffer_type (builder, " tdD" ).first , org::apache::arrow::flatbuf::Type::Date); // DATE_DAYS
59- CHECK_EQ (utils::get_flatbuffer_type (builder, " tdm" ).first , org::apache::arrow::flatbuf::Type::Date); // DATE_MILLISECONDS
60- }
61-
62- SUBCASE (" Timestamp types" )
63- {
64- CHECK_EQ (utils::get_flatbuffer_type (builder, " tss:" ).first , org::apache::arrow::flatbuf::Type::Timestamp); // TIMESTAMP_SECONDS
65- CHECK_EQ (utils::get_flatbuffer_type (builder, " tsm:" ).first , org::apache::arrow::flatbuf::Type::Timestamp); // TIMESTAMP_MILLISECONDS
66- CHECK_EQ (utils::get_flatbuffer_type (builder, " tsu:" ).first , org::apache::arrow::flatbuf::Type::Timestamp); // TIMESTAMP_MICROSECONDS
67- CHECK_EQ (utils::get_flatbuffer_type (builder, " tsn:" ).first , org::apache::arrow::flatbuf::Type::Timestamp); // TIMESTAMP_NANOSECONDS
68- }
69-
70- SUBCASE (" Duration types" )
71- {
72- CHECK_EQ (utils::get_flatbuffer_type (builder, " tDs" ).first , org::apache::arrow::flatbuf::Type::Duration); // DURATION_SECONDS
73- CHECK_EQ (utils::get_flatbuffer_type (builder, " tDm" ).first , org::apache::arrow::flatbuf::Type::Duration); // DURATION_MILLISECONDS
74- CHECK_EQ (utils::get_flatbuffer_type (builder, " tDu" ).first , org::apache::arrow::flatbuf::Type::Duration); // DURATION_MICROSECONDS
75- CHECK_EQ (utils::get_flatbuffer_type (builder, " tDn" ).first , org::apache::arrow::flatbuf::Type::Duration); // DURATION_NANOSECONDS
76- }
77-
78- SUBCASE (" Interval types" )
79- {
80- CHECK_EQ (utils::get_flatbuffer_type (builder, " tiM" ).first , org::apache::arrow::flatbuf::Type::Interval); // INTERVAL_MONTHS
81- CHECK_EQ (utils::get_flatbuffer_type (builder, " tiD" ).first , org::apache::arrow::flatbuf::Type::Interval); // INTERVAL_DAYS_TIME
82- CHECK_EQ (utils::get_flatbuffer_type (builder, " tin" ).first , org::apache::arrow::flatbuf::Type::Interval); // INTERVAL_MONTHS_DAYS_NANOSECONDS
83- }
84-
85- SUBCASE (" Time types" )
86- {
87- CHECK_EQ (utils::get_flatbuffer_type (builder, " tts" ).first , org::apache::arrow::flatbuf::Type::Time); // TIME_SECONDS
88- CHECK_EQ (utils::get_flatbuffer_type (builder, " ttm" ).first , org::apache::arrow::flatbuf::Type::Time); // TIME_MILLISECONDS
89- CHECK_EQ (utils::get_flatbuffer_type (builder, " ttu" ).first , org::apache::arrow::flatbuf::Type::Time); // TIME_MICROSECONDS
90- CHECK_EQ (utils::get_flatbuffer_type (builder, " ttn" ).first , org::apache::arrow::flatbuf::Type::Time); // TIME_NANOSECONDS
91- }
92-
93- SUBCASE (" List types" )
94- {
95- CHECK_EQ (utils::get_flatbuffer_type (builder, " +l" ).first , org::apache::arrow::flatbuf::Type::List); // LIST
96- CHECK_EQ (utils::get_flatbuffer_type (builder, " +L" ).first , org::apache::arrow::flatbuf::Type::LargeList); // LARGE_LIST
97- CHECK_EQ (utils::get_flatbuffer_type (builder, " +vl" ).first , org::apache::arrow::flatbuf::Type::ListView); // LIST_VIEW
98- CHECK_EQ (utils::get_flatbuffer_type (builder, " +vL" ).first , org::apache::arrow::flatbuf::Type::LargeListView); // LARGE_LIST_VIEW
99- CHECK_EQ (utils::get_flatbuffer_type (builder, " +w:16" ).first , org::apache::arrow::flatbuf::Type::FixedSizeList); // FIXED_SIZED_LIST
100- CHECK_THROWS (utils::get_flatbuffer_type (builder, " +w:" )); // Invalid FixedSizeList format
101- }
102-
103- SUBCASE (" Struct and Map types" )
104- {
105- CHECK_EQ (utils::get_flatbuffer_type (builder, " +s" ).first , org::apache::arrow::flatbuf::Type::Struct_); // STRUCT
106- CHECK_EQ (utils::get_flatbuffer_type (builder, " +m" ).first , org::apache::arrow::flatbuf::Type::Map); // MAP
107- }
108-
109- SUBCASE (" Union types" )
110- {
111- CHECK_EQ (utils::get_flatbuffer_type (builder, " +ud:" ).first , org::apache::arrow::flatbuf::Type::Union); // DENSE_UNION
112- CHECK_EQ (utils::get_flatbuffer_type (builder, " +us:" ).first , org::apache::arrow::flatbuf::Type::Union); // SPARSE_UNION
113- }
114-
115- SUBCASE (" Run-End Encoded type" )
116- {
117- CHECK_EQ (utils::get_flatbuffer_type (builder, " +r" ).first , org::apache::arrow::flatbuf::Type::RunEndEncoded); // RUN_ENCODED
118- }
119-
120- SUBCASE (" Decimal types" )
121- {
122- CHECK_EQ (utils::get_flatbuffer_type (builder, " d:10,5" ).first , org::apache::arrow::flatbuf::Type::Decimal); // DECIMAL (general)
123- CHECK_THROWS (utils::get_flatbuffer_type (builder, " d:10" )); // Invalid Decimal format
124- }
125-
126- SUBCASE (" Fixed Width Binary type" )
127- {
128- CHECK_EQ (utils::get_flatbuffer_type (builder, " w:32" ).first , org::apache::arrow::flatbuf::Type::FixedSizeBinary); // FIXED_WIDTH_BINARY
129- CHECK_THROWS (utils::get_flatbuffer_type (builder, " w:" )); // Invalid FixedSizeBinary format
130- }
131-
132- SUBCASE (" Unsupported type returns Null" )
133- {
134- CHECK_EQ (utils::get_flatbuffer_type (builder, " unsupported_format" ).first , org::apache::arrow::flatbuf::Type::Null);
135- }
136- }
20+ // TEST_CASE("get_flatbuffer_type")
21+ // {
22+ // flatbuffers::FlatBufferBuilder builder;
23+ // SUBCASE("Null and Boolean types")
24+ // {
25+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "n").first, org::apache::arrow::flatbuf::Type::Null);
26+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "b").first, org::apache::arrow::flatbuf::Type::Bool);
27+ // }
28+ //
29+ // SUBCASE("Integer types")
30+ // {
31+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "c").first, org::apache::arrow::flatbuf::Type::Int); // INT8
32+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "C").first, org::apache::arrow::flatbuf::Type::Int); // UINT8
33+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "s").first, org::apache::arrow::flatbuf::Type::Int); // INT16
34+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "S").first, org::apache::arrow::flatbuf::Type::Int); // UINT16
35+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "i").first, org::apache::arrow::flatbuf::Type::Int); // INT32
36+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "I").first, org::apache::arrow::flatbuf::Type::Int); // UINT32
37+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "l").first, org::apache::arrow::flatbuf::Type::Int); // INT64
38+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "L").first, org::apache::arrow::flatbuf::Type::Int); // UINT64
39+ // }
40+ //
41+ // SUBCASE("Floating Point types")
42+ // {
43+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "e").first, org::apache::arrow::flatbuf::Type::FloatingPoint); // HALF_FLOAT
44+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "f").first, org::apache::arrow::flatbuf::Type::FloatingPoint); // FLOAT
45+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "g").first, org::apache::arrow::flatbuf::Type::FloatingPoint); // DOUBLE
46+ // }
47+ //
48+ // SUBCASE("String and Binary types")
49+ // {
50+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "u").first, org::apache::arrow::flatbuf::Type::Utf8); // STRING
51+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "U").first, org::apache::arrow::flatbuf::Type::LargeUtf8); // LARGE_STRING
52+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "z").first, org::apache::arrow::flatbuf::Type::Binary); // BINARY
53+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "Z").first, org::apache::arrow::flatbuf::Type::LargeBinary); // LARGE_BINARY
54+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "vu").first, org::apache::arrow::flatbuf::Type::Utf8View); // STRING_VIEW
55+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "vz").first, org::apache::arrow::flatbuf::Type::BinaryView); // BINARY_VIEW
56+ // }
57+ //
58+ // SUBCASE("Date types")
59+ // {
60+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tdD").first, org::apache::arrow::flatbuf::Type::Date); // DATE_DAYS
61+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tdm").first, org::apache::arrow::flatbuf::Type::Date); // DATE_MILLISECONDS
62+ // }
63+ //
64+ // SUBCASE("Timestamp types")
65+ // {
66+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tss:").first, org::apache::arrow::flatbuf::Type::Timestamp); // TIMESTAMP_SECONDS
67+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tsm:").first, org::apache::arrow::flatbuf::Type::Timestamp); // TIMESTAMP_MILLISECONDS
68+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tsu:").first, org::apache::arrow::flatbuf::Type::Timestamp); // TIMESTAMP_MICROSECONDS
69+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tsn:").first, org::apache::arrow::flatbuf::Type::Timestamp); // TIMESTAMP_NANOSECONDS
70+ // }
71+ //
72+ // SUBCASE("Duration types")
73+ // {
74+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tDs").first, org::apache::arrow::flatbuf::Type::Duration); // DURATION_SECONDS
75+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tDm").first, org::apache::arrow::flatbuf::Type::Duration); // DURATION_MILLISECONDS
76+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tDu").first, org::apache::arrow::flatbuf::Type::Duration); // DURATION_MICROSECONDS
77+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tDn").first, org::apache::arrow::flatbuf::Type::Duration); // DURATION_NANOSECONDS
78+ // }
79+ //
80+ // SUBCASE("Interval types")
81+ // {
82+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tiM").first, org::apache::arrow::flatbuf::Type::Interval); // INTERVAL_MONTHS
83+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tiD").first, org::apache::arrow::flatbuf::Type::Interval); // INTERVAL_DAYS_TIME
84+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tin").first, org::apache::arrow::flatbuf::Type::Interval); // INTERVAL_MONTHS_DAYS_NANOSECONDS
85+ // }
86+ //
87+ // SUBCASE("Time types")
88+ // {
89+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "tts").first, org::apache::arrow::flatbuf::Type::Time); // TIME_SECONDS
90+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "ttm").first, org::apache::arrow::flatbuf::Type::Time); // TIME_MILLISECONDS
91+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "ttu").first, org::apache::arrow::flatbuf::Type::Time); // TIME_MICROSECONDS
92+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "ttn").first, org::apache::arrow::flatbuf::Type::Time); // TIME_NANOSECONDS
93+ // }
94+ //
95+ // SUBCASE("List types")
96+ // {
97+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+l").first, org::apache::arrow::flatbuf::Type::List); // LIST
98+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+L").first, org::apache::arrow::flatbuf::Type::LargeList); // LARGE_LIST
99+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+vl").first, org::apache::arrow::flatbuf::Type::ListView); // LIST_VIEW
100+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+vL").first, org::apache::arrow::flatbuf::Type::LargeListView); // LARGE_LIST_VIEW
101+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+w:16").first, org::apache::arrow::flatbuf::Type::FixedSizeList); // FIXED_SIZED_LIST
102+ // CHECK_THROWS(utils::get_flatbuffer_type(builder, "+w:")); // Invalid FixedSizeList format
103+ // }
104+ //
105+ // SUBCASE("Struct and Map types")
106+ // {
107+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+s").first, org::apache::arrow::flatbuf::Type::Struct_); // STRUCT
108+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+m").first, org::apache::arrow::flatbuf::Type::Map); // MAP
109+ // }
110+ //
111+ // SUBCASE("Union types")
112+ // {
113+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+ud:").first, org::apache::arrow::flatbuf::Type::Union); // DENSE_UNION
114+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+us:").first, org::apache::arrow::flatbuf::Type::Union); // SPARSE_UNION
115+ // }
116+ //
117+ // SUBCASE("Run-End Encoded type")
118+ // {
119+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "+r").first, org::apache::arrow::flatbuf::Type::RunEndEncoded); // RUN_ENCODED
120+ // }
121+ //
122+ // SUBCASE("Decimal types")
123+ // {
124+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "d:10,5").first, org::apache::arrow::flatbuf::Type::Decimal); // DECIMAL (general)
125+ // CHECK_THROWS(utils::get_flatbuffer_type(builder, "d:10")); // Invalid Decimal format
126+ // }
127+ //
128+ // SUBCASE("Fixed Width Binary type")
129+ // {
130+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "w:32").first, org::apache::arrow::flatbuf::Type::FixedSizeBinary); // FIXED_WIDTH_BINARY
131+ // CHECK_THROWS(utils::get_flatbuffer_type(builder, "w:")); // Invalid FixedSizeBinary format
132+ // }
133+ //
134+ // SUBCASE("Unsupported type returns Null")
135+ // {
136+ // CHECK_EQ(utils::get_flatbuffer_type(builder, "unsupported_format").first, org::apache::arrow::flatbuf::Type::Null);
137+ // }
138+ // }
137139}
0 commit comments