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

Function test_primitive_array_iter_round_trip

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

Source from the content-addressed store, hash-verified

207
208 #[test]
209 fn test_primitive_array_iter_round_trip() {
210 let array = Int32Array::from(vec![Some(0), None, Some(2), None, Some(4)]);
211 let array = Arc::new(array) as ArrayRef;
212
213 let array = array.as_any().downcast_ref::<Int32Array>().unwrap();
214
215 // to and from iter, with a +1
216 let result: Int32Array = array.iter().map(|e| e.map(|e| e + 1)).collect();
217
218 let expected = Int32Array::from(vec![Some(1), None, Some(3), None, Some(5)]);
219 assert_eq!(result, expected);
220
221 // check if DoubleEndedIterator is implemented
222 let result: Int32Array = array.iter().rev().collect();
223 let rev_array = Int32Array::from(vec![Some(4), None, Some(2), None, Some(0)]);
224 assert_eq!(result, rev_array);
225 // check if ExactSizeIterator is implemented
226 let _ = array.iter().rposition(|opt_b| opt_b == Some(1));
227 }
228
229 #[test]
230 fn test_double_ended() {

Callers

nothing calls this directly

Calls 3

collectMethod · 0.80
as_anyMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected