@@ -331,22 +331,11 @@ mod tests {
331331 use parquet_variant:: { ObjectBuilder , ReadOnlyMetadataBuilder , Variant , VariantBuilder } ;
332332 use std:: sync:: Arc ;
333333
334- fn create_test_variant_array ( values : Vec < Option < Variant < ' _ , ' _ > > > ) -> VariantArray {
335- let mut builder = VariantArrayBuilder :: new ( values. len ( ) ) ;
336- for value in values {
337- match value {
338- Some ( v) => builder. append_variant ( v) ,
339- None => builder. append_null ( ) ,
340- }
341- }
342- builder. build ( )
343- }
344-
345334 #[ test]
346335 fn test_already_shredded_input_error ( ) {
347336 // Create a VariantArray that already has typed_value_field
348337 // First create a valid VariantArray, then extract its parts to construct a shredded one
349- let temp_array = create_test_variant_array ( vec ! [ Some ( Variant :: from( "test" ) ) ] ) ;
338+ let temp_array = VariantArray :: from_iter ( vec ! [ Some ( Variant :: from( "test" ) ) ] ) ;
350339 let metadata = temp_array. metadata_field ( ) . clone ( ) ;
351340 let value = temp_array. value_field ( ) . unwrap ( ) . clone ( ) ;
352341 let typed_value = Arc :: new ( Int64Array :: from ( vec ! [ 42 ] ) ) as ArrayRef ;
@@ -375,15 +364,15 @@ mod tests {
375364
376365 #[ test]
377366 fn test_unsupported_list_schema ( ) {
378- let input = create_test_variant_array ( vec ! [ Some ( Variant :: from( 42 ) ) ] ) ;
367+ let input = VariantArray :: from_iter ( [ Variant :: from ( 42 ) ] ) ;
379368 let list_schema = DataType :: List ( Arc :: new ( Field :: new ( "item" , DataType :: Int64 , true ) ) ) ;
380369 shred_variant ( & input, & list_schema) . expect_err ( "unsupported" ) ;
381370 }
382371
383372 #[ test]
384373 fn test_primitive_shredding_comprehensive ( ) {
385374 // Test mixed scenarios in a single array
386- let input = create_test_variant_array ( vec ! [
375+ let input = VariantArray :: from_iter ( vec ! [
387376 Some ( Variant :: from( 42i64 ) ) , // successful shred
388377 Some ( Variant :: from( "hello" ) ) , // failed shred (string)
389378 Some ( Variant :: from( 100i64 ) ) , // successful shred
@@ -448,10 +437,10 @@ mod tests {
448437
449438 #[ test]
450439 fn test_primitive_different_target_types ( ) {
451- let input = create_test_variant_array ( vec ! [
452- Some ( Variant :: from( 42i32 ) ) ,
453- Some ( Variant :: from( 3.15f64 ) ) ,
454- Some ( Variant :: from( "not_a_number" ) ) ,
440+ let input = VariantArray :: from_iter ( vec ! [
441+ Variant :: from( 42i32 ) ,
442+ Variant :: from( 3.15f64 ) ,
443+ Variant :: from( "not_a_number" ) ,
455444 ] ) ;
456445
457446 // Test Int32 target
@@ -882,10 +871,7 @@ mod tests {
882871
883872 #[ test]
884873 fn test_spec_compliance ( ) {
885- let input = create_test_variant_array ( vec ! [
886- Some ( Variant :: from( 42i64 ) ) ,
887- Some ( Variant :: from( "hello" ) ) ,
888- ] ) ;
874+ let input = VariantArray :: from_iter ( vec ! [ Variant :: from( 42i64 ) , Variant :: from( "hello" ) ] ) ;
889875
890876 let result = shred_variant ( & input, & DataType :: Int64 ) . unwrap ( ) ;
891877
0 commit comments