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

Function test_write_single_batch

arrow-json/src/writer/mod.rs:1485–1513  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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() {

Callers

nothing calls this directly

Calls 9

infer_json_schemaFunction · 0.85
zipMethod · 0.80
collectMethod · 0.80
filterMethod · 0.80
with_batch_sizeMethod · 0.45
buildMethod · 0.45
nextMethod · 0.45
writeMethod · 0.45
into_iterMethod · 0.45

Tested by

no test coverage detected