Skip to content

Commit 7fde1ae

Browse files
author
Shashwati
committed
Improve tests to verify converted values
1 parent 3db1991 commit 7fde1ae

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

cpp/src/arrow/json/parser_test.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,13 @@ TEST_P(BlockParserTypeError, AllowNumberToStringConversion) {
182182
std::shared_ptr<Array> parsed;
183183
ASSERT_OK(ParseFromString(options, "{\"a\":\"123\"}\n{\"a\":456}", &parsed));
184184
auto struct_array = std::static_pointer_cast<StructArray>(parsed);
185+
ASSERT_NE(struct_array, nullptr);
185186
auto field_array = struct_array->GetFieldByName("a");
186187
ASSERT_NE(field_array, nullptr);
187188
ASSERT_EQ(field_array->length(), 2);
189+
// Verify both values are strings (the number 456 should be converted to "456")
190+
auto expected = ArrayFromJSON(utf8(), R"(["123", "456"])");
191+
AssertUnconvertedArraysEqual(*expected, *field_array);
188192
}
189193

190194
TEST_P(BlockParserTypeError, AllowStringToNumberConversion) {
@@ -193,9 +197,13 @@ TEST_P(BlockParserTypeError, AllowStringToNumberConversion) {
193197
std::shared_ptr<Array> parsed;
194198
ASSERT_OK(ParseFromString(options, "{\"a\":123}\n{\"a\":\"456\"}", &parsed));
195199
auto struct_array = std::static_pointer_cast<StructArray>(parsed);
200+
ASSERT_NE(struct_array, nullptr);
196201
auto field_array = struct_array->GetFieldByName("a");
197202
ASSERT_NE(field_array, nullptr);
198203
ASSERT_EQ(field_array->length(), 2);
204+
// Verify both values are numbers (the string "456" should be converted to 456)
205+
auto expected = ArrayFromJSON(int64(), R"([123, 456])");
206+
AssertUnconvertedArraysEqual(*expected, *field_array);
199207
}
200208

201209
TEST_P(BlockParserTypeError, FailOnNestedInconvertible) {

0 commit comments

Comments
 (0)