MCPcopy Create free account
hub / github.com/apache/arrow-rs / test_csv_reader_with_decimal

Function test_csv_reader_with_decimal

arrow-csv/src/reader/mod.rs:1333–1378  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1331
1332 #[test]
1333 fn test_csv_reader_with_decimal() {
1334 let schema = Arc::new(Schema::new(vec![
1335 Field::new("city", DataType::Utf8, false),
1336 Field::new("lat", DataType::Decimal128(38, 6), false),
1337 Field::new("lng", DataType::Decimal256(76, 6), false),
1338 ]));
1339
1340 let file = File::open("test/data/decimal_test.csv").unwrap();
1341
1342 let mut csv = ReaderBuilder::new(schema).build(file).unwrap();
1343 let batch = csv.next().unwrap().unwrap();
1344 // access data from a primitive array
1345 let lat = batch
1346 .column(1)
1347 .as_any()
1348 .downcast_ref::<Decimal128Array>()
1349 .unwrap();
1350
1351 assert_eq!("57.653484", lat.value_as_string(0));
1352 assert_eq!("53.002666", lat.value_as_string(1));
1353 assert_eq!("52.412811", lat.value_as_string(2));
1354 assert_eq!("51.481583", lat.value_as_string(3));
1355 assert_eq!("12.123456", lat.value_as_string(4));
1356 assert_eq!("50.760000", lat.value_as_string(5));
1357 assert_eq!("0.123000", lat.value_as_string(6));
1358 assert_eq!("123.000000", lat.value_as_string(7));
1359 assert_eq!("123.000000", lat.value_as_string(8));
1360 assert_eq!("-50.760000", lat.value_as_string(9));
1361
1362 let lng = batch
1363 .column(2)
1364 .as_any()
1365 .downcast_ref::<Decimal256Array>()
1366 .unwrap();
1367
1368 assert_eq!("-3.335724", lng.value_as_string(0));
1369 assert_eq!("-2.179404", lng.value_as_string(1));
1370 assert_eq!("-1.778197", lng.value_as_string(2));
1371 assert_eq!("-3.179090", lng.value_as_string(3));
1372 assert_eq!("-3.179090", lng.value_as_string(4));
1373 assert_eq!("0.290472", lng.value_as_string(5));
1374 assert_eq!("0.290472", lng.value_as_string(6));
1375 assert_eq!("0.290472", lng.value_as_string(7));
1376 assert_eq!("0.290472", lng.value_as_string(8));
1377 assert_eq!("0.290472", lng.value_as_string(9));
1378 }
1379
1380 #[test]
1381 fn test_csv_reader_with_decimal_3264() {

Callers

nothing calls this directly

Calls 4

buildMethod · 0.45
nextMethod · 0.45
as_anyMethod · 0.45
columnMethod · 0.45

Tested by

no test coverage detected