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

Function test_non_std_terminator

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

Source from the content-addressed store, hash-verified

2290
2291 #[test]
2292 fn test_non_std_terminator() {
2293 let schema = Schema::new(vec![
2294 Field::new("text1", DataType::Utf8, false),
2295 Field::new("text2", DataType::Utf8, false),
2296 ]);
2297 let builder = ReaderBuilder::new(Arc::new(schema))
2298 .with_header(false)
2299 .with_terminator(b'\n'); // default is CRLF, change to LF
2300
2301 let mut csv_text = Vec::new();
2302 let mut csv_writer = std::io::Cursor::new(&mut csv_text);
2303 for index in 0..10 {
2304 let text1 = format!("id{index:}");
2305 let text2 = format!("value{index:}");
2306 csv_writer
2307 .write_fmt(format_args!("\"{text1}\",\"{text2}\"\n"))
2308 .unwrap();
2309 }
2310 let mut csv_reader = std::io::Cursor::new(&csv_text);
2311 let mut reader = builder.build(&mut csv_reader).unwrap();
2312 let batch = reader.next().unwrap().unwrap();
2313 let col0 = batch.column(0);
2314 assert_eq!(col0.len(), 10);
2315 let col0_arr = col0.as_any().downcast_ref::<StringArray>().unwrap();
2316 assert_eq!(col0_arr.value(0), "id0");
2317 let col1 = batch.column(1);
2318 assert_eq!(col1.len(), 10);
2319 let col1_arr = col1.as_any().downcast_ref::<StringArray>().unwrap();
2320 assert_eq!(col1_arr.value(5), "value5");
2321 }
2322
2323 #[test]
2324 fn test_header_bounds() {

Callers

nothing calls this directly

Calls 6

with_terminatorMethod · 0.80
with_headerMethod · 0.45
buildMethod · 0.45
nextMethod · 0.45
columnMethod · 0.45
as_anyMethod · 0.45

Tested by

no test coverage detected