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

Function test_list_nulls_append

arrow/tests/array_transform.rs:615–689  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

613
614#[test]
615fn test_list_nulls_append() {
616 let mut builder = ListBuilder::<Int64Builder>::new(Int64Builder::with_capacity(32));
617 builder.values().append_slice(&[1, 2, 3]);
618 builder.append(true);
619 builder.values().append_slice(&[4, 5]);
620 builder.append(true);
621 builder.append(false);
622 builder.values().append_slice(&[6, 7, 8]);
623 builder.values().append_null();
624 builder.values().append_null();
625 builder.values().append_slice(&[9, 10, 11]);
626 builder.append(true);
627 let a = builder.finish().into_data();
628
629 let mut builder = ListBuilder::<Int64Builder>::new(Int64Builder::with_capacity(32));
630 builder.values().append_slice(&[12, 13]);
631 builder.append(true);
632 builder.append(false);
633 builder.append(true);
634 builder.values().append_null();
635 builder.values().append_null();
636 builder.values().append_slice(&[14, 15]);
637 builder.append(true);
638 let b = builder.finish().into_data();
639 let c = b.slice(1, 2);
640 let d = b.slice(2, 2);
641
642 let mut mutable = MutableArrayData::new(vec![&a, &b, &c, &d], false, 10);
643
644 mutable.extend(0, 0, a.len());
645 mutable.extend(1, 0, b.len());
646 mutable.extend(2, 0, c.len());
647 mutable.extend(3, 0, d.len());
648 let result = mutable.freeze();
649
650 let expected_int_array = Int64Array::from(vec![
651 Some(1),
652 Some(2),
653 Some(3),
654 Some(4),
655 Some(5),
656 Some(6),
657 Some(7),
658 Some(8),
659 None,
660 None,
661 Some(9),
662 Some(10),
663 Some(11),
664 // second array
665 Some(12),
666 Some(13),
667 None,
668 None,
669 Some(14),
670 Some(15),
671 // slice(1, 2) results in no values added
672 None,

Callers

nothing calls this directly

Calls 12

try_newFunction · 0.85
freezeMethod · 0.80
ListClass · 0.50
append_sliceMethod · 0.45
valuesMethod · 0.45
appendMethod · 0.45
append_nullMethod · 0.45
into_dataMethod · 0.45
finishMethod · 0.45
sliceMethod · 0.45
extendMethod · 0.45
lenMethod · 0.45

Tested by

no test coverage detected