@@ -241,6 +241,7 @@ mod tests {
241241 use crate :: parser:: parse;
242242 use crate :: recovery_status_parser:: { clients_line, target_recovery_stats} ;
243243 use combine:: { Parser , parser:: EasyParser , stream:: position} ;
244+ use test_case:: test_case;
244245
245246 #[ test]
246247 fn test_multiple ( ) {
@@ -276,14 +277,12 @@ mod tests {
276277 insta:: assert_debug_snapshot!( records) ;
277278 }
278279
279- #[ test]
280- fn test_clients_line ( ) {
281- let result = clients_line ( "completed_clients" ) . parse ( "completed_clients: 3/7\n " ) ;
282- assert_eq ! ( result, Ok ( ( ( 3 , Some ( 7 ) ) , "" ) ) ) ;
283- let result = clients_line ( "connected_clients" ) . parse ( "connected_clients: 3/7\n " ) ;
284- assert_eq ! ( result, Ok ( ( ( 3 , Some ( 7 ) ) , "" ) ) ) ;
285- let result = clients_line ( "completed_clients" ) . parse ( "completed_clients: 3\n " ) ;
286- assert_eq ! ( result, Ok ( ( ( 3 , None ) , "" ) ) ) ;
280+ #[ test_case( "completed_clients" , "completed_clients: 3/7\n " , ( 3 , Some ( 7 ) ) ; "completed clients with total" ) ]
281+ #[ test_case( "connected_clients" , "connected_clients: 3/7\n " , ( 3 , Some ( 7 ) ) ; "connected clients with total" ) ]
282+ #[ test_case( "completed_clients" , "completed_clients: 3\n " , ( 3 , None ) ; "completed clients without total" ) ]
283+ fn test_clients_line ( field_name : & ' static str , input : & str , expected : ( u64 , Option < u64 > ) ) {
284+ let result = clients_line ( field_name) . parse ( input) ;
285+ assert_eq ! ( result, Ok ( ( expected, "" ) ) ) ;
287286 }
288287
289288 #[ test]
0 commit comments