()
| 2513 | |
| 2514 | #[test] |
| 2515 | fn test_buffered() { |
| 2516 | let tests = [ |
| 2517 | ("test/data/uk_cities.csv", false, 37), |
| 2518 | ("test/data/various_types.csv", true, 10), |
| 2519 | ("test/data/decimal_test.csv", false, 10), |
| 2520 | ]; |
| 2521 | |
| 2522 | for (path, has_header, expected_rows) in tests { |
| 2523 | let (schema, _) = Format::default() |
| 2524 | .infer_schema(File::open(path).unwrap(), None) |
| 2525 | .unwrap(); |
| 2526 | let schema = Arc::new(schema); |
| 2527 | |
| 2528 | for batch_size in [1, 4] { |
| 2529 | for capacity in [1, 3, 7, 100] { |
| 2530 | let reader = ReaderBuilder::new(schema.clone()) |
| 2531 | .with_batch_size(batch_size) |
| 2532 | .with_header(has_header) |
| 2533 | .build(File::open(path).unwrap()) |
| 2534 | .unwrap(); |
| 2535 | |
| 2536 | let expected = reader.collect::<Result<Vec<_>, _>>().unwrap(); |
| 2537 | |
| 2538 | assert_eq!( |
| 2539 | expected.iter().map(|x| x.num_rows()).sum::<usize>(), |
| 2540 | expected_rows |
| 2541 | ); |
| 2542 | |
| 2543 | let buffered = |
| 2544 | std::io::BufReader::with_capacity(capacity, File::open(path).unwrap()); |
| 2545 | |
| 2546 | let reader = ReaderBuilder::new(schema.clone()) |
| 2547 | .with_batch_size(batch_size) |
| 2548 | .with_header(has_header) |
| 2549 | .build_buffered(buffered) |
| 2550 | .unwrap(); |
| 2551 | |
| 2552 | let actual = reader.collect::<Result<Vec<_>, _>>().unwrap(); |
| 2553 | assert_eq!(expected, actual) |
| 2554 | } |
| 2555 | } |
| 2556 | } |
| 2557 | } |
| 2558 | |
| 2559 | fn err_test(csv: &[u8], expected: &str) { |
| 2560 | fn err_test_with_schema(csv: &[u8], expected: &str, schema: Arc<Schema>) { |
nothing calls this directly
no test coverage detected