Describe the enhancement requested This is a sub-issue of the issue mentioned below.
As we can see in the parent issue, we can find tables organizing the related functions.
file name code snippet scalar_test.cc EXPECT_OK_AND_ASSIGN(auto cast_scalar, scalar.CastTo(to_type));scalar_test.cc scalar.CastTo(to_type);
The functions require handling "Unsupported cast from list_view<item: int16> to list using function cast_list" error.
We need to implement casting from list_view to list.
Warning
In this case, The additional casting function would vary depending on whether the CheckListCast or CheckInvalidListCast functions are called.
scalar_test.cc Snippet to reproduce
template <typename ScalarType>
void CheckListCast(const ScalarType& scalar, const std::shared_ptr<DataType>& to_type) {
- EXPECT_OK_AND_ASSIGN(auto cast_scalar, scalar.CastTo(to_type));- ASSERT_OK(cast_scalar->ValidateFull());- ASSERT_EQ(*cast_scalar->type, *to_type);+ EXPECT_OK_AND_ASSIGN(auto cast_scalar, Cast(scalar, to_type));+ ASSERT_OK(cast_scalar.scalar()->ValidateFull());+ ASSERT_EQ(*cast_scalar.scalar()->type, *to_type);- ASSERT_EQ(scalar.is_valid, cast_scalar->is_valid);+ ASSERT_EQ(scalar.is_valid, cast_scalar.scalar()->is_valid);
ASSERT_TRUE(scalar.is_valid);
ASSERT_ARRAYS_EQUAL(*scalar.value,
- *checked_cast<const BaseListScalar&>(*cast_scalar).value);+ *checked_cast<const BaseListScalar&>(*cast_scalar.scalar()).value);
}
void CheckInvalidListCast(const Scalar& scalar, const std::shared_ptr<DataType>& to_type,
const std::string& expected_message) {
EXPECT_RAISES_WITH_CODE_AND_MESSAGE_THAT(StatusCode::Invalid,
::testing::HasSubstr(expected_message),
- scalar.CastTo(to_type));+ Cast(scalar, to_type));
} Sub-task Component(s) C++
Describe the enhancement requested
This is a sub-issue of the issue mentioned below.
As we can see in the parent issue, we can find tables organizing the related functions.
EXPECT_OK_AND_ASSIGN(auto cast_scalar, scalar.CastTo(to_type));scalar.CastTo(to_type);We need to implement casting from
list_viewtolist.Warning
In this case, The additional casting function would vary depending on whether the
CheckListCastorCheckInvalidListCastfunctions are called.scalar_test.cc
Snippet to reproduce
template <typename ScalarType> void CheckListCast(const ScalarType& scalar, const std::shared_ptr<DataType>& to_type) { - EXPECT_OK_AND_ASSIGN(auto cast_scalar, scalar.CastTo(to_type));- ASSERT_OK(cast_scalar->ValidateFull());- ASSERT_EQ(*cast_scalar->type, *to_type);+ EXPECT_OK_AND_ASSIGN(auto cast_scalar, Cast(scalar, to_type));+ ASSERT_OK(cast_scalar.scalar()->ValidateFull());+ ASSERT_EQ(*cast_scalar.scalar()->type, *to_type);- ASSERT_EQ(scalar.is_valid, cast_scalar->is_valid);+ ASSERT_EQ(scalar.is_valid, cast_scalar.scalar()->is_valid); ASSERT_TRUE(scalar.is_valid); ASSERT_ARRAYS_EQUAL(*scalar.value, - *checked_cast<const BaseListScalar&>(*cast_scalar).value);+ *checked_cast<const BaseListScalar&>(*cast_scalar.scalar()).value); } void CheckInvalidListCast(const Scalar& scalar, const std::shared_ptr<DataType>& to_type, const std::string& expected_message) { EXPECT_RAISES_WITH_CODE_AND_MESSAGE_THAT(StatusCode::Invalid, ::testing::HasSubstr(expected_message), - scalar.CastTo(to_type));+ Cast(scalar, to_type)); }Sub-task
Component(s)
C++