| 427 | |
| 428 | #[test] |
| 429 | fn length_test_list_view() { |
| 430 | // Create a ListViewArray with values [0, 1, 2], [3, 4, 5], [6, 7] |
| 431 | let field = Arc::new(Field::new_list_field(DataType::Int32, true)); |
| 432 | let values = Int32Array::from(vec![0, 1, 2, 3, 4, 5, 6, 7]); |
| 433 | let offsets = ScalarBuffer::from(vec![0i32, 3, 6]); |
| 434 | let sizes = ScalarBuffer::from(vec![3i32, 3, 2]); |
| 435 | let list_array = ListViewArray::new(field, offsets, sizes, Arc::new(values), None); |
| 436 | |
| 437 | let result = length(&list_array).unwrap(); |
| 438 | let result = result.as_any().downcast_ref::<Int32Array>().unwrap(); |
| 439 | let expected: Int32Array = vec![3, 3, 2].into(); |
| 440 | assert_eq!(&expected, result); |
| 441 | } |
| 442 | |
| 443 | #[test] |
| 444 | fn length_test_large_list_view() { |