| 954 | |
| 955 | #[test] |
| 956 | fn test_write_csv_invalid_cast() { |
| 957 | let schema = Schema::new(vec![ |
| 958 | Field::new("c0", DataType::UInt32, false), |
| 959 | Field::new("c1", DataType::Date64, false), |
| 960 | ]); |
| 961 | |
| 962 | let c0 = UInt32Array::from(vec![Some(123), Some(234)]); |
| 963 | let c1 = Date64Array::from(vec![Some(1926632005177), Some(1926632005177685347)]); |
| 964 | let batch = |
| 965 | RecordBatch::try_new(Arc::new(schema), vec![Arc::new(c0), Arc::new(c1)]).unwrap(); |
| 966 | |
| 967 | let mut file = tempfile::tempfile().unwrap(); |
| 968 | let mut writer = Writer::new(&mut file); |
| 969 | let batches = vec![&batch, &batch]; |
| 970 | |
| 971 | for batch in batches { |
| 972 | let err = writer.write(batch).unwrap_err().to_string(); |
| 973 | assert_eq!( |
| 974 | err, |
| 975 | "Csv error: Error processing row 2, col 2: Cast error: Failed to convert 1926632005177685347 to temporal for Date64" |
| 976 | ) |
| 977 | } |
| 978 | drop(writer); |
| 979 | } |
| 980 | |
| 981 | #[test] |
| 982 | fn test_write_csv_using_rfc3339() { |