@@ -23,7 +23,6 @@ macro_rules! bin_numeric_op {
2323 } } ;
2424}
2525
26- /// Like `bin_numeric_op!`, but with integer safe divide (avoid div-by-zero).
2726macro_rules! bin_numeric_div {
2827 ( $lhs: expr, $rhs: expr) => { {
2928 use AnyValue :: * ;
@@ -279,11 +278,11 @@ mod tests {
279278 use super :: * ;
280279 use AnyValue :: * ;
281280
282- fn v ( xs : Vec < AnyValue < ' static > > ) -> AnyValue < ' static > {
281+ fn make_vec ( xs : Vec < AnyValue < ' static > > ) -> AnyValue < ' static > {
283282 AnyValue :: Vector ( Box :: new ( xs) )
284283 }
285- fn s ( pairs : Vec < ( & ' static str , AnyValue < ' static > ) > ) -> AnyValue < ' static > {
286- // Replace crate::Field(...) with your real Field constructor if needed
284+
285+ fn make_struct ( pairs : Vec < ( & ' static str , AnyValue < ' static > ) > ) -> AnyValue < ' static > {
287286 let fields = pairs
288287 . into_iter ( )
289288 . map ( |( name, val) | ( crate :: Field :: new ( name. into ( ) ) , val) )
@@ -377,50 +376,50 @@ mod tests {
377376 // ---------- Vector elementwise ----------
378377 #[ test]
379378 fn vector_elementwise_add_ok ( ) {
380- let a = v ( vec ! [ Int32 ( 1 ) , Int32 ( 2 ) , Int32 ( 3 ) ] ) ;
381- let b = v ( vec ! [ Int32 ( 4 ) , Int32 ( 5 ) , Int32 ( 6 ) ] ) ;
382- let out = v ( vec ! [ Int32 ( 5 ) , Int32 ( 7 ) , Int32 ( 9 ) ] ) ;
379+ let a = make_vec ( vec ! [ Int32 ( 1 ) , Int32 ( 2 ) , Int32 ( 3 ) ] ) ;
380+ let b = make_vec ( vec ! [ Int32 ( 4 ) , Int32 ( 5 ) , Int32 ( 6 ) ] ) ;
381+ let out = make_vec ( vec ! [ Int32 ( 5 ) , Int32 ( 7 ) , Int32 ( 9 ) ] ) ;
383382 assert_eq ! ( a + b, out) ;
384383 }
385384
386385 #[ test]
387386 fn vector_length_mismatch ( ) {
388- let a = v ( vec ! [ Int32 ( 1 ) , Int32 ( 2 ) ] ) ;
389- let b = v ( vec ! [ Int32 ( 3 ) ] ) ;
387+ let a = make_vec ( vec ! [ Int32 ( 1 ) , Int32 ( 2 ) ] ) ;
388+ let b = make_vec ( vec ! [ Int32 ( 3 ) ] ) ;
390389 assert_eq ! ( a + b, Vector ( Box :: new( vec![ Int32 ( 4 ) ] ) ) ) ;
391390 }
392391
393392 // ---------- Struct fieldwise ----------
394393 #[ test]
395394 fn struct_same_shape_by_order ( ) {
396395 // Current code: length check; name mismatch → per-field Null (keeps left field)
397- let a = s ( vec ! [ ( "x" , Int32 ( 1 ) ) , ( "y" , Int32 ( 2 ) ) ] ) ;
398- let b = s ( vec ! [ ( "x" , Int32 ( 3 ) ) , ( "y" , Int32 ( 4 ) ) ] ) ;
399- let out = s ( vec ! [ ( "x" , Int32 ( 4 ) ) , ( "y" , Int32 ( 6 ) ) ] ) ;
396+ let a = make_struct ( vec ! [ ( "x" , Int32 ( 1 ) ) , ( "y" , Int32 ( 2 ) ) ] ) ;
397+ let b = make_struct ( vec ! [ ( "x" , Int32 ( 3 ) ) , ( "y" , Int32 ( 4 ) ) ] ) ;
398+ let out = make_struct ( vec ! [ ( "x" , Int32 ( 4 ) ) , ( "y" , Int32 ( 6 ) ) ] ) ;
400399 assert_eq ! ( a + b, out) ;
401400 }
402401
403402 #[ test]
404403 fn struct_length_mismatch_yields_null ( ) {
405- let a = s ( vec ! [ ( "x" , Int32 ( 1 ) ) ] ) ;
406- let b = s ( vec ! [ ( "x" , Int32 ( 2 ) ) , ( "y" , Int32 ( 3 ) ) ] ) ;
404+ let a = make_struct ( vec ! [ ( "x" , Int32 ( 1 ) ) ] ) ;
405+ let b = make_struct ( vec ! [ ( "x" , Int32 ( 2 ) ) , ( "y" , Int32 ( 3 ) ) ] ) ;
407406 assert_eq ! ( a + b, Null ) ;
408407 }
409408
410409 #[ test]
411410 fn struct_field_name_mismatch_sets_field_null_under_current_rules ( ) {
412- let a = s ( vec ! [ ( "x" , Int32 ( 1 ) ) , ( "y" , Int32 ( 2 ) ) ] ) ;
413- let b = s ( vec ! [ ( "x" , Int32 ( 3 ) ) , ( "z" , Int32 ( 9 ) ) ] ) ;
411+ let a = make_struct ( vec ! [ ( "x" , Int32 ( 1 ) ) , ( "y" , Int32 ( 2 ) ) ] ) ;
412+ let b = make_struct ( vec ! [ ( "x" , Int32 ( 3 ) ) , ( "z" , Int32 ( 9 ) ) ] ) ;
414413 // Current impl: when names differ at a position, that *slot* becomes Null; rest proceed.
415- let expected = s ( vec ! [ ( "x" , Int32 ( 4 ) ) , ( "y" , Null ) ] ) ;
414+ let expected = make_struct ( vec ! [ ( "x" , Int32 ( 4 ) ) , ( "y" , Null ) ] ) ;
416415 assert_eq ! ( a + b, expected) ;
417416 }
418417
419418 #[ test]
420419 fn struct_align_by_name_regardless_of_order ( ) {
421- let a = s ( vec ! [ ( "x" , Int32 ( 1 ) ) , ( "y" , Int32 ( 2 ) ) ] ) ;
422- let b = s ( vec ! [ ( "y" , Int32 ( 4 ) ) , ( "x" , Int32 ( 3 ) ) ] ) ;
423- let out = s ( vec ! [ ( "x" , Null ) , ( "y" , Null ) ] ) ;
420+ let a = make_struct ( vec ! [ ( "x" , Int32 ( 1 ) ) , ( "y" , Int32 ( 2 ) ) ] ) ;
421+ let b = make_struct ( vec ! [ ( "y" , Int32 ( 4 ) ) , ( "x" , Int32 ( 3 ) ) ] ) ;
422+ let out = make_struct ( vec ! [ ( "x" , Null ) , ( "y" , Null ) ] ) ;
424423 assert_eq ! ( a + b, out) ;
425424 }
426425
0 commit comments