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

Function test_run_iterator_comprehensive

arrow-array/src/run_iterator.rs:278–306  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

276
277 #[test]
278 fn test_run_iterator_comprehensive() {
279 // Test forward and backward iterator for different array lengths.
280 let logical_lengths = vec![1_usize, 2, 3, 4, 15, 16, 17, 63, 64, 65];
281
282 for logical_len in logical_lengths {
283 let input_array = build_input_array(logical_len);
284
285 let mut run_array_builder = PrimitiveRunBuilder::<Int32Type, Int32Type>::new();
286 run_array_builder.extend(input_array.iter().copied());
287 let run_array = run_array_builder.finish();
288 let typed_array = run_array.downcast::<Int32Array>().unwrap();
289
290 // test forward iterator
291 let mut input_iter = input_array.iter().copied();
292 let mut run_array_iter = typed_array.into_iter();
293 for _ in 0..logical_len {
294 assert_eq!(input_iter.next(), run_array_iter.next());
295 }
296 assert_eq!(None, run_array_iter.next());
297
298 // test reverse iterator
299 let mut input_iter = input_array.iter().rev().copied();
300 let mut run_array_iter = typed_array.into_iter().rev();
301 for _ in 0..logical_len {
302 assert_eq!(input_iter.next(), run_array_iter.next());
303 }
304 assert_eq!(None, run_array_iter.next());
305 }
306 }
307
308 #[test]
309 fn test_string_array_iter_round_trip() {

Callers

nothing calls this directly

Calls 5

build_input_arrayFunction · 0.70
extendMethod · 0.45
iterMethod · 0.45
finishMethod · 0.45
into_iterMethod · 0.45

Tested by

no test coverage detected