()
| 413 | } |
| 414 | |
| 415 | fn test_nullable_list<OffsetSize: OffsetSizeTrait>() { |
| 416 | // [[1, null, 2], null, [], [3, 4], [], [], null, [], [null, 1]] |
| 417 | let expected = |
| 418 | GenericListArray::<OffsetSize>::from_iter_primitive::<Int32Type, _, _>(vec![ |
| 419 | Some(vec![Some(1), None, Some(2)]), |
| 420 | None, |
| 421 | Some(vec![]), |
| 422 | Some(vec![Some(3), Some(4)]), |
| 423 | Some(vec![]), |
| 424 | Some(vec![]), |
| 425 | None, |
| 426 | Some(vec![]), |
| 427 | Some(vec![None, Some(1)]), |
| 428 | ]); |
| 429 | |
| 430 | let item_array_reader = make_int32_page_reader( |
| 431 | &[1, 2, 3, 4, 1], |
| 432 | &[3, 2, 3, 0, 1, 3, 3, 1, 1, 0, 1, 2, 3], |
| 433 | &[0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], |
| 434 | 3, |
| 435 | 1, |
| 436 | ); |
| 437 | |
| 438 | let mut list_array_reader = ListArrayReader::<OffsetSize>::new( |
| 439 | item_array_reader, |
| 440 | list_type::<OffsetSize>(ArrowType::Int32, true), |
| 441 | 2, |
| 442 | 1, |
| 443 | true, |
| 444 | ); |
| 445 | |
| 446 | let actual = list_array_reader.next_batch(1024).unwrap(); |
| 447 | let actual = downcast::<OffsetSize>(&actual); |
| 448 | |
| 449 | assert_eq!(&expected, actual) |
| 450 | } |
| 451 | |
| 452 | fn test_list_array<OffsetSize: OffsetSizeTrait>() { |
| 453 | test_nullable_list::<OffsetSize>(); |
nothing calls this directly
no test coverage detected