| 11099 | } |
| 11100 | |
| 11101 | fn assert_decimal_array_contents<T>( |
| 11102 | array: &PrimitiveArray<T>, |
| 11103 | expected_as_string: &[Option<&str>], |
| 11104 | ) where |
| 11105 | T: DecimalType + ArrowPrimitiveType, |
| 11106 | { |
| 11107 | assert_eq!(array.len(), expected_as_string.len()); |
| 11108 | for (i, expected) in expected_as_string.iter().enumerate() { |
| 11109 | let actual = if array.is_null(i) { |
| 11110 | None |
| 11111 | } else { |
| 11112 | Some(array.value_as_string(i)) |
| 11113 | }; |
| 11114 | let actual = actual.as_ref().map(|s| s.as_ref()); |
| 11115 | assert_eq!(*expected, actual, "Expected at position {i}"); |
| 11116 | } |
| 11117 | } |
| 11118 | |
| 11119 | #[test] |
| 11120 | fn test_cast_invalid_utf8_to_decimal() { |