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

Function test_map_nulls_append

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

Source from the content-addressed store, hash-verified

690
691#[test]
692fn test_map_nulls_append() {
693 let mut builder = MapBuilder::<Int64Builder, Int64Builder>::new(
694 None,
695 Int64Builder::with_capacity(32),
696 Int64Builder::with_capacity(32),
697 );
698 builder.keys().append_slice(&[1, 2, 3]);
699 builder.values().append_slice(&[1, 2, 3]);
700 builder.append(true).unwrap();
701 builder.keys().append_slice(&[4, 5]);
702 builder.values().append_slice(&[4, 5]);
703 builder.append(true).unwrap();
704 builder.append(false).unwrap();
705 builder.keys().append_slice(&[6, 7, 8, 100, 101, 9, 10, 11]);
706 builder.values().append_slice(&[6, 7, 8]);
707 builder.values().append_null();
708 builder.values().append_null();
709 builder.values().append_slice(&[9, 10, 11]);
710 builder.append(true).unwrap();
711
712 let a = builder.finish().into_data();
713
714 let mut builder = MapBuilder::<Int64Builder, Int64Builder>::new(
715 None,
716 Int64Builder::with_capacity(32),
717 Int64Builder::with_capacity(32),
718 );
719
720 builder.keys().append_slice(&[12, 13]);
721 builder.values().append_slice(&[12, 13]);
722 builder.append(true).unwrap();
723 builder.append(false).unwrap();
724 builder.append(true).unwrap();
725 builder.keys().append_slice(&[100, 101, 14, 15]);
726 builder.values().append_null();
727 builder.values().append_null();
728 builder.values().append_slice(&[14, 15]);
729 builder.append(true).unwrap();
730
731 let b = builder.finish().into_data();
732 let c = b.slice(1, 2);
733 let d = b.slice(2, 2);
734
735 let mut mutable = MutableArrayData::new(vec![&a, &b, &c, &d], false, 10);
736
737 mutable.extend(0, 0, a.len());
738 mutable.extend(1, 0, b.len());
739 mutable.extend(2, 0, c.len());
740 mutable.extend(3, 0, d.len());
741 let result = mutable.freeze();
742
743 let expected_key_array = Int64Array::from(vec![
744 Some(1),
745 Some(2),
746 Some(3),
747 Some(4),
748 Some(5),
749 Some(6),

Callers

nothing calls this directly

Calls 13

try_newFunction · 0.85
freezeMethod · 0.80
MapClass · 0.50
append_sliceMethod · 0.45
keysMethod · 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

Tested by

no test coverage detected