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

Function get_int32_iterator_cases

arrow-array/src/iterator.rs:331–415  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

329 }
330
331 fn get_int32_iterator_cases() -> impl Iterator<Item = (Int32Array, Vec<Option<i32>>)> {
332 let mut rng = StdRng::seed_from_u64(42);
333
334 let no_nulls_and_no_duplicates = (0..10).map(Some).collect::<Vec<Option<i32>>>();
335 let no_nulls_random_values = (0..10)
336 .map(|_| rng.random::<i32>())
337 .map(Some)
338 .collect::<Vec<Option<i32>>>();
339
340 let all_nulls = (0..10).map(|_| None).collect::<Vec<Option<i32>>>();
341 let only_start_nulls = (0..10)
342 .map(|item| if item < 4 { None } else { Some(item) })
343 .collect::<Vec<Option<i32>>>();
344 let only_end_nulls = (0..10)
345 .map(|item| if item > 8 { None } else { Some(item) })
346 .collect::<Vec<Option<i32>>>();
347 let only_middle_nulls = (0..10)
348 .map(|item| {
349 if (4..=8).contains(&item) && rng.random_bool(0.9) {
350 None
351 } else {
352 Some(item)
353 }
354 })
355 .collect::<Vec<Option<i32>>>();
356 let random_values_with_random_nulls = (0..10)
357 .map(|_| {
358 if rng.random_bool(0.3) {
359 None
360 } else {
361 Some(rng.random::<i32>())
362 }
363 })
364 .collect::<Vec<Option<i32>>>();
365
366 let no_nulls_and_some_duplicates = (0..10)
367 .map(|item| item % 3)
368 .map(Some)
369 .collect::<Vec<Option<i32>>>();
370 let no_nulls_and_all_same_value =
371 (0..10).map(|_| 9).map(Some).collect::<Vec<Option<i32>>>();
372 let no_nulls_and_continues_duplicates = [0, 0, 0, 1, 1, 2, 2, 2, 2, 3]
373 .map(Some)
374 .into_iter()
375 .collect::<Vec<Option<i32>>>();
376
377 let single_null_and_no_duplicates = (0..10)
378 .map(|item| if item == 4 { None } else { Some(item) })
379 .collect::<Vec<Option<i32>>>();
380 let multiple_nulls_and_no_duplicates = (0..10)
381 .map(|item| if item % 3 == 2 { None } else { Some(item) })
382 .collect::<Vec<Option<i32>>>();
383 let continues_nulls_and_no_duplicates = [
384 Some(0),
385 Some(1),
386 None,
387 None,
388 Some(2),

Callers 4

assert_nthFunction · 0.85
assert_nth_backFunction · 0.85
assert_lastFunction · 0.85

Calls 3

containsMethod · 0.45
into_iterMethod · 0.45
cloneMethod · 0.45

Tested by 3

assert_nthFunction · 0.68
assert_nth_backFunction · 0.68
assert_lastFunction · 0.68