()
| 1483 | |
| 1484 | #[test] |
| 1485 | fn test_write_single_batch() { |
| 1486 | let test_file = "test/data/basic.json"; |
| 1487 | let file = File::open(test_file).unwrap(); |
| 1488 | let mut reader = BufReader::new(file); |
| 1489 | let (schema, _) = infer_json_schema(&mut reader, None).unwrap(); |
| 1490 | reader.rewind().unwrap(); |
| 1491 | |
| 1492 | let builder = ReaderBuilder::new(Arc::new(schema)).with_batch_size(1024); |
| 1493 | let mut reader = builder.build(reader).unwrap(); |
| 1494 | let batch = reader.next().unwrap().unwrap(); |
| 1495 | |
| 1496 | let mut buf = Vec::new(); |
| 1497 | { |
| 1498 | let mut writer = LineDelimitedWriter::new(&mut buf); |
| 1499 | writer.write(&batch).unwrap(); |
| 1500 | } |
| 1501 | |
| 1502 | let result = str::from_utf8(&buf).unwrap(); |
| 1503 | let expected = read_to_string(test_file).unwrap(); |
| 1504 | for (r, e) in result.lines().zip(expected.lines()) { |
| 1505 | let mut expected_json = serde_json::from_str::<Value>(e).unwrap(); |
| 1506 | // remove null value from object to make comparison consistent: |
| 1507 | if let Value::Object(obj) = expected_json { |
| 1508 | expected_json = |
| 1509 | Value::Object(obj.into_iter().filter(|(_, v)| *v != Value::Null).collect()); |
| 1510 | } |
| 1511 | assert_eq!(serde_json::from_str::<Value>(r).unwrap(), expected_json,); |
| 1512 | } |
| 1513 | } |
| 1514 | |
| 1515 | #[test] |
| 1516 | fn test_write_multi_batches() { |
nothing calls this directly
no test coverage detected