diff --git a/arrow-cast/src/cast/mod.rs b/arrow-cast/src/cast/mod.rs index 00d6b149647b..c448ad96016c 100644 --- a/arrow-cast/src/cast/mod.rs +++ b/arrow-cast/src/cast/mod.rs @@ -10000,6 +10000,16 @@ mod tests { result.unwrap().as_primitive::().value(0), 520 ); + + // Cast 0 of decimal(3, 0) type to decimal(2, 0) + assert_eq!( + &cast( + &create_decimal_array(vec![Some(0)], 3, 0).unwrap(), + &DataType::Decimal128(2, 0) + ) + .unwrap(), + &(Arc::new(create_decimal_array(vec![Some(0)], 2, 0).unwrap()) as ArrayRef) + ); } #[test]