@@ -923,15 +923,14 @@ mod tests {
923923 // Parse the JSON to verify structure - handle JSON parsing errors manually
924924 let parsed: Value = serde_json:: from_str ( & json)
925925 . map_err ( |e| ArrowError :: ParseError ( format ! ( "JSON parse error: {}" , e) ) ) ?;
926- if let Value :: Object ( obj) = parsed {
927- assert_eq ! ( obj. get( "name" ) , Some ( & Value :: String ( "Alice" . to_string( ) ) ) ) ;
928- assert_eq ! ( obj. get( "age" ) , Some ( & Value :: Number ( 30 . into( ) ) ) ) ;
929- assert_eq ! ( obj. get( "active" ) , Some ( & Value :: Bool ( true ) ) ) ;
930- assert ! ( matches!( obj. get( "score" ) , Some ( Value :: Number ( _) ) ) ) ;
931- assert_eq ! ( obj. len( ) , 4 ) ;
932- } else {
926+ let Value :: Object ( obj) = parsed else {
933927 panic ! ( "Expected JSON object" ) ;
934- }
928+ } ;
929+ assert_eq ! ( obj. get( "name" ) , Some ( & Value :: String ( "Alice" . to_string( ) ) ) ) ;
930+ assert_eq ! ( obj. get( "age" ) , Some ( & Value :: Number ( 30 . into( ) ) ) ) ;
931+ assert_eq ! ( obj. get( "active" ) , Some ( & Value :: Bool ( true ) ) ) ;
932+ assert ! ( matches!( obj. get( "score" ) , Some ( Value :: Number ( _) ) ) ) ;
933+ assert_eq ! ( obj. len( ) , 4 ) ;
935934
936935 // Test variant_to_json_value as well
937936 let json_value = variant_to_json_value ( & variant) ?;
@@ -1015,13 +1014,12 @@ mod tests {
10151014 assert_eq ! ( json, "[1,2,3,4,5]" ) ;
10161015
10171016 let json_value = variant_to_json_value ( & variant) ?;
1018- if let Value :: Array ( arr) = json_value {
1019- assert_eq ! ( arr. len( ) , 5 ) ;
1020- assert_eq ! ( arr[ 0 ] , Value :: Number ( 1 . into( ) ) ) ;
1021- assert_eq ! ( arr[ 4 ] , Value :: Number ( 5 . into( ) ) ) ;
1022- } else {
1017+ let Value :: Array ( arr) = json_value else {
10231018 panic ! ( "Expected JSON array" ) ;
1024- }
1019+ } ;
1020+ assert_eq ! ( arr. len( ) , 5 ) ;
1021+ assert_eq ! ( arr[ 0 ] , Value :: Number ( 1 . into( ) ) ) ;
1022+ assert_eq ! ( arr[ 4 ] , Value :: Number ( 5 . into( ) ) ) ;
10251023
10261024 Ok ( ( ) )
10271025 }
@@ -1070,16 +1068,15 @@ mod tests {
10701068
10711069 let parsed: Value = serde_json:: from_str ( & json)
10721070 . map_err ( |e| ArrowError :: ParseError ( format ! ( "JSON parse error: {}" , e) ) ) ?;
1073- if let Value :: Array ( arr) = parsed {
1074- assert_eq ! ( arr. len( ) , 5 ) ;
1075- assert_eq ! ( arr[ 0 ] , Value :: String ( "hello" . to_string( ) ) ) ;
1076- assert_eq ! ( arr[ 1 ] , Value :: Number ( 42 . into( ) ) ) ;
1077- assert_eq ! ( arr[ 2 ] , Value :: Bool ( true ) ) ;
1078- assert_eq ! ( arr[ 3 ] , Value :: Null ) ;
1079- assert ! ( matches!( arr[ 4 ] , Value :: Number ( _) ) ) ;
1080- } else {
1071+ let Value :: Array ( arr) = parsed else {
10811072 panic ! ( "Expected JSON array" ) ;
1082- }
1073+ } ;
1074+ assert_eq ! ( arr. len( ) , 5 ) ;
1075+ assert_eq ! ( arr[ 0 ] , Value :: String ( "hello" . to_string( ) ) ) ;
1076+ assert_eq ! ( arr[ 1 ] , Value :: Number ( 42 . into( ) ) ) ;
1077+ assert_eq ! ( arr[ 2 ] , Value :: Bool ( true ) ) ;
1078+ assert_eq ! ( arr[ 3 ] , Value :: Null ) ;
1079+ assert ! ( matches!( arr[ 4 ] , Value :: Number ( _) ) ) ;
10831080
10841081 Ok ( ( ) )
10851082 }
@@ -1106,14 +1103,13 @@ mod tests {
11061103 // Parse and verify all fields are present
11071104 let parsed: Value = serde_json:: from_str ( & json)
11081105 . map_err ( |e| ArrowError :: ParseError ( format ! ( "JSON parse error: {}" , e) ) ) ?;
1109- if let Value :: Object ( obj) = parsed {
1110- assert_eq ! ( obj. len( ) , 3 ) ;
1111- assert_eq ! ( obj. get( "alpha" ) , Some ( & Value :: String ( "first" . to_string( ) ) ) ) ;
1112- assert_eq ! ( obj. get( "beta" ) , Some ( & Value :: String ( "second" . to_string( ) ) ) ) ;
1113- assert_eq ! ( obj. get( "zebra" ) , Some ( & Value :: String ( "last" . to_string( ) ) ) ) ;
1114- } else {
1106+ let Value :: Object ( obj) = parsed else {
11151107 panic ! ( "Expected JSON object" ) ;
1116- }
1108+ } ;
1109+ assert_eq ! ( obj. len( ) , 3 ) ;
1110+ assert_eq ! ( obj. get( "alpha" ) , Some ( & Value :: String ( "first" . to_string( ) ) ) ) ;
1111+ assert_eq ! ( obj. get( "beta" ) , Some ( & Value :: String ( "second" . to_string( ) ) ) ) ;
1112+ assert_eq ! ( obj. get( "zebra" ) , Some ( & Value :: String ( "last" . to_string( ) ) ) ) ;
11171113
11181114 Ok ( ( ) )
11191115 }
@@ -1142,18 +1138,17 @@ mod tests {
11421138
11431139 let parsed: Value = serde_json:: from_str ( & json)
11441140 . map_err ( |e| ArrowError :: ParseError ( format ! ( "JSON parse error: {}" , e) ) ) ?;
1145- if let Value :: Array ( arr) = parsed {
1146- assert_eq ! ( arr. len( ) , 7 ) ;
1147- assert_eq ! ( arr[ 0 ] , Value :: String ( "string_value" . to_string( ) ) ) ;
1148- assert_eq ! ( arr[ 1 ] , Value :: Number ( 42 . into( ) ) ) ;
1149- assert_eq ! ( arr[ 2 ] , Value :: Bool ( true ) ) ;
1150- assert ! ( matches!( arr[ 3 ] , Value :: Number ( _) ) ) ; // float
1151- assert_eq ! ( arr[ 4 ] , Value :: Bool ( false ) ) ;
1152- assert_eq ! ( arr[ 5 ] , Value :: Null ) ;
1153- assert_eq ! ( arr[ 6 ] , Value :: Number ( 100 . into( ) ) ) ;
1154- } else {
1141+ let Value :: Array ( arr) = parsed else {
11551142 panic ! ( "Expected JSON array" ) ;
1156- }
1143+ } ;
1144+ assert_eq ! ( arr. len( ) , 7 ) ;
1145+ assert_eq ! ( arr[ 0 ] , Value :: String ( "string_value" . to_string( ) ) ) ;
1146+ assert_eq ! ( arr[ 1 ] , Value :: Number ( 42 . into( ) ) ) ;
1147+ assert_eq ! ( arr[ 2 ] , Value :: Bool ( true ) ) ;
1148+ assert ! ( matches!( arr[ 3 ] , Value :: Number ( _) ) ) ; // float
1149+ assert_eq ! ( arr[ 4 ] , Value :: Bool ( false ) ) ;
1150+ assert_eq ! ( arr[ 5 ] , Value :: Null ) ;
1151+ assert_eq ! ( arr[ 6 ] , Value :: Number ( 100 . into( ) ) ) ;
11571152
11581153 Ok ( ( ) )
11591154 }
@@ -1181,20 +1176,19 @@ mod tests {
11811176
11821177 let parsed: Value = serde_json:: from_str ( & json)
11831178 . map_err ( |e| ArrowError :: ParseError ( format ! ( "JSON parse error: {}" , e) ) ) ?;
1184- if let Value :: Object ( obj) = parsed {
1185- assert_eq ! ( obj. len( ) , 6 ) ;
1186- assert_eq ! (
1187- obj. get( "string_field" ) ,
1188- Some ( & Value :: String ( "test_string" . to_string( ) ) )
1189- ) ;
1190- assert_eq ! ( obj. get( "int_field" ) , Some ( & Value :: Number ( 123 . into( ) ) ) ) ;
1191- assert_eq ! ( obj. get( "bool_field" ) , Some ( & Value :: Bool ( true ) ) ) ;
1192- assert ! ( matches!( obj. get( "float_field" ) , Some ( Value :: Number ( _) ) ) ) ;
1193- assert_eq ! ( obj. get( "null_field" ) , Some ( & Value :: Null ) ) ;
1194- assert_eq ! ( obj. get( "long_field" ) , Some ( & Value :: Number ( 999 . into( ) ) ) ) ;
1195- } else {
1179+ let Value :: Object ( obj) = parsed else {
11961180 panic ! ( "Expected JSON object" ) ;
1197- }
1181+ } ;
1182+ assert_eq ! ( obj. len( ) , 6 ) ;
1183+ assert_eq ! (
1184+ obj. get( "string_field" ) ,
1185+ Some ( & Value :: String ( "test_string" . to_string( ) ) )
1186+ ) ;
1187+ assert_eq ! ( obj. get( "int_field" ) , Some ( & Value :: Number ( 123 . into( ) ) ) ) ;
1188+ assert_eq ! ( obj. get( "bool_field" ) , Some ( & Value :: Bool ( true ) ) ) ;
1189+ assert ! ( matches!( obj. get( "float_field" ) , Some ( Value :: Number ( _) ) ) ) ;
1190+ assert_eq ! ( obj. get( "null_field" ) , Some ( & Value :: Null ) ) ;
1191+ assert_eq ! ( obj. get( "long_field" ) , Some ( & Value :: Number ( 999 . into( ) ) ) ) ;
11981192
11991193 Ok ( ( ) )
12001194 }
0 commit comments