@@ -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
190194TEST_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
201209TEST_P (BlockParserTypeError, FailOnNestedInconvertible) {
0 commit comments