NickCrews commented on code in PR #43782:
URL: https://github.com/apache/arrow/pull/43782#discussion_r1945843491
##########
cpp/src/arrow/compute/kernels/scalar_cast_test.cc:
##########
@@ -2964,28 +2964,31 @@ TEST(Cast, StructToDifferentNullabilityStruct) {
const auto dest1_non_nullable = arrow::struct_(fields_dest1_non_nullable);
const auto options1_non_nullable = CastOptions::Safe(dest1_non_nullable);
EXPECT_RAISES_WITH_MESSAGE_THAT(
- TypeError,
- ::testing::HasSubstr("cannot cast nullable field to non-nullable
field"),
+ Invalid,
+ ::testing::HasSubstr(
+ "field 'a' has nulls. Can't cast to non-nullable type int64"),
Cast(src_nullable, options1_non_nullable));
std::vector<std::shared_ptr<Field>> fields_dest2_non_nullable = {
std::make_shared<Field>("a", int64(), false),
std::make_shared<Field>("c", int64(), false)};
const auto dest2_non_nullable = arrow::struct_(fields_dest2_non_nullable);
- const auto options2_non_nullable = CastOptions::Safe(dest2_non_nullable);
+ const auto options2_non_nullable = CastOptions::Unsafe(dest2_non_nullable);
EXPECT_RAISES_WITH_MESSAGE_THAT(
- TypeError,
- ::testing::HasSubstr("cannot cast nullable field to non-nullable
field"),
+ Invalid,
+ ::testing::HasSubstr(
+ "field 'a' has nulls. Can't cast to non-nullable type int64"),
Cast(src_nullable, options2_non_nullable));
- std::vector<std::shared_ptr<Field>> fields_dest3_non_nullable = {
+ std::shared_ptr<Array> c_dest_no_nulls;
+ c_dest_no_nulls = ArrayFromJSON(int64(), "[9, 11, 44]");
+ std::vector<std::shared_ptr<Field>> fields_dest_no_nulls = {
std::make_shared<Field>("c", int64(), false)};
- const auto dest3_non_nullable = arrow::struct_(fields_dest3_non_nullable);
- const auto options3_non_nullable = CastOptions::Safe(dest3_non_nullable);
- EXPECT_RAISES_WITH_MESSAGE_THAT(
- TypeError,
- ::testing::HasSubstr("cannot cast nullable field to non-nullable
field"),
- Cast(src_nullable, options3_non_nullable));
+ ASSERT_OK_AND_ASSIGN(auto dest_no_nulls,
+ StructArray::Make({c_dest_no_nulls},
fields_dest_no_nulls));
+ const auto options3_non_nullable =
+ CastOptions::Unsafe(arrow::struct_(fields_dest_no_nulls));
Review Comment:
Thanks, you are right.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]