@@ -3665,7 +3665,20 @@ mod tests {
3665
3665
3666
3666
#[ tokio:: test]
3667
3667
async fn test_literal_to_list ( ) -> Result < ( ) , DataFusionError > {
3668
- // [[[1, 2, 3], [4, 5, 6], [7, 8, 9, null], null], [10, null, 12], null]
3668
+ /*
3669
+ [
3670
+ [
3671
+ [1, 2, 3],
3672
+ [4, 5, 6],
3673
+ [7, 8, 9, null],
3674
+ null
3675
+ ],
3676
+ [
3677
+ [10, null, 12]
3678
+ ],
3679
+ null
3680
+ ]
3681
+ */
3669
3682
let data = ListLiteral {
3670
3683
list_values : vec ! [
3671
3684
ListLiteral {
@@ -3685,11 +3698,11 @@ mod tests {
3685
3698
null_mask: vec![ true , true , true , false ] ,
3686
3699
..Default :: default ( )
3687
3700
} ,
3688
- // ListLiteral {
3689
- // ..Default::default()
3690
- // },
3701
+ ListLiteral {
3702
+ ..Default :: default ( )
3703
+ } ,
3691
3704
] ,
3692
- null_mask: vec![ true , true , true ] ,
3705
+ null_mask: vec![ true , true , true , false ] ,
3693
3706
..Default :: default ( )
3694
3707
} ,
3695
3708
ListLiteral {
@@ -3701,11 +3714,11 @@ mod tests {
3701
3714
null_mask: vec![ true ] ,
3702
3715
..Default :: default ( )
3703
3716
} ,
3704
- // ListLiteral {
3705
- // ..Default::default()
3706
- // },
3717
+ ListLiteral {
3718
+ ..Default :: default ( )
3719
+ } ,
3707
3720
] ,
3708
- null_mask : vec ! [ true , true ] ,
3721
+ null_mask : vec ! [ true , true , false ] ,
3709
3722
..Default :: default ( )
3710
3723
} ;
3711
3724
@@ -3739,7 +3752,7 @@ mod tests {
3739
3752
let first_elem = list_outer. value ( 0 ) ;
3740
3753
dbg ! ( & first_elem) ;
3741
3754
let list_inner = first_elem. as_any ( ) . downcast_ref :: < ListArray > ( ) . unwrap ( ) ;
3742
- assert_eq ! ( list_inner. len( ) , 3 ) ;
3755
+ assert_eq ! ( list_inner. len( ) , 4 ) ;
3743
3756
3744
3757
// Inner values
3745
3758
let v0 = list_inner. value ( 0 ) ;
@@ -3753,7 +3766,7 @@ mod tests {
3753
3766
3754
3767
let v2 = list_inner. value ( 2 ) ;
3755
3768
let vals2 = v2. as_any ( ) . downcast_ref :: < Int32Array > ( ) . unwrap ( ) ;
3756
- assert_eq ! ( vals2. values( ) , & [ 7 , 8 , 9 ] ) ;
3769
+ assert_eq ! ( vals2. values( ) , & [ 7 , 8 , 9 , 0 ] ) ;
3757
3770
3758
3771
// Second outer element
3759
3772
let second_elem = list_outer. value ( 1 ) ;
@@ -3762,7 +3775,7 @@ mod tests {
3762
3775
3763
3776
let v3 = list_inner2. value ( 0 ) ;
3764
3777
let vals3 = v3. as_any ( ) . downcast_ref :: < Int32Array > ( ) . unwrap ( ) ;
3765
- assert_eq ! ( vals3. values( ) , & [ 10 , 11 ] ) ;
3778
+ assert_eq ! ( vals3. values( ) , & [ 10 , 0 , 11 ] ) ;
3766
3779
3767
3780
//println!("result 2 {:?}", build_array(&data));
3768
3781
0 commit comments