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

Function test_primitive_array_slice

arrow-array/src/array/primitive_array.rs:2000–2037  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1998
1999 #[test]
2000 fn test_primitive_array_slice() {
2001 let arr = Int32Array::from(vec![
2002 Some(0),
2003 None,
2004 Some(2),
2005 None,
2006 Some(4),
2007 Some(5),
2008 Some(6),
2009 None,
2010 None,
2011 ]);
2012 assert_eq!(9, arr.len());
2013 assert_eq!(0, arr.offset());
2014 assert_eq!(4, arr.null_count());
2015
2016 let arr2 = arr.slice(2, 5);
2017 assert_eq!(5, arr2.len());
2018 assert_eq!(1, arr2.null_count());
2019
2020 for i in 0..arr2.len() {
2021 assert_eq!(i == 1, arr2.is_null(i));
2022 assert_eq!(i != 1, arr2.is_valid(i));
2023 }
2024 let int_arr2 = arr2.as_any().downcast_ref::<Int32Array>().unwrap();
2025 assert_eq!(2, int_arr2.values()[0]);
2026 assert_eq!(&[4, 5, 6], &int_arr2.values()[2..5]);
2027
2028 let arr3 = arr2.slice(2, 3);
2029 assert_eq!(3, arr3.len());
2030 assert_eq!(0, arr3.null_count());
2031
2032 let int_arr3 = arr3.as_any().downcast_ref::<Int32Array>().unwrap();
2033 assert_eq!(&[4, 5, 6], int_arr3.values());
2034 assert_eq!(4, int_arr3.value(0));
2035 assert_eq!(5, int_arr3.value(1));
2036 assert_eq!(6, int_arr3.value(2));
2037 }
2038
2039 #[test]
2040 fn test_boolean_array_slice() {

Callers

nothing calls this directly

Calls 3

sliceMethod · 0.45
lenMethod · 0.45
as_anyMethod · 0.45

Tested by

no test coverage detected