@@ -27,14 +27,14 @@ fn test_basic_encoding_decoding() -> Result<(), Box<dyn std::error::Error>> {
2727 . add_int ( 54 , 1 ) // Side (1=Buy)
2828 . add_uint ( 38 , 1_000_000 ) ; // OrderQty
2929
30- let encoded = handle
31- . encode ( )
32- . map_err ( |e| format ! ( "Encoding should succeed but failed: {e}" ) ) ?;
30+ let encoded = handle. encode ( ) . map_err ( |e| {
31+ Box :: < dyn std :: error :: Error > :: from ( format ! ( "Encoding should succeed but failed: {e}" ) )
32+ } ) ?;
3333
3434 // Decode the message
35- let decoded = decoder
36- . decode ( & encoded )
37- . map_err ( |e| format ! ( "Decoding should succeed but failed: {e}" ) ) ?;
35+ let decoded = decoder. decode ( & encoded ) . map_err ( |e| {
36+ Box :: < dyn std :: error :: Error > :: from ( format ! ( "Decoding should succeed but failed: {e}" ) )
37+ } ) ?;
3838
3939 // Verify standard fields
4040 assert_eq ! ( decoded. msg_type( ) , "D" ) ;
@@ -46,14 +46,14 @@ fn test_basic_encoding_decoding() -> Result<(), Box<dyn std::error::Error>> {
4646 assert_eq ! ( decoded. get_string( 11 ) , Some ( "CL001" . to_string( ) ) ) ;
4747 assert_eq ! ( decoded. get_string( 55 ) , Some ( "EUR/USD" . to_string( ) ) ) ;
4848
49- let parsed_int = decoded
50- . get_int ( 54 )
51- . map_err ( |e| format ! ( "Should parse int but failed: {e}" ) ) ?;
49+ let parsed_int = decoded. get_int ( 54 ) . map_err ( |e| {
50+ Box :: < dyn std :: error :: Error > :: from ( format ! ( "Should parse int but failed: {e}" ) )
51+ } ) ?;
5252 assert_eq ! ( parsed_int, Some ( 1 ) ) ;
5353
54- let parsed_uint = decoded
55- . get_uint ( 38 )
56- . map_err ( |e| format ! ( "Should parse uint but failed: {e}" ) ) ?;
54+ let parsed_uint = decoded. get_uint ( 38 ) . map_err ( |e| {
55+ Box :: < dyn std :: error :: Error > :: from ( format ! ( "Should parse uint but failed: {e}" ) )
56+ } ) ?;
5757 assert_eq ! ( parsed_uint, Some ( 1_000_000 ) ) ;
5858 }
5959
@@ -81,9 +81,9 @@ fn test_streaming_decoder() -> Result<(), Box<dyn std::error::Error>> {
8181 handle. add_string ( 112 , "TEST123" ) ; // TestReqID
8282 }
8383
84- let encoded = handle
85- . encode ( )
86- . map_err ( |e| format ! ( "Encoding should succeed but failed: {e}" ) ) ?;
84+ let encoded = handle. encode ( ) . map_err ( |e| {
85+ Box :: < dyn std :: error :: Error > :: from ( format ! ( "Encoding should succeed but failed: {e}" ) )
86+ } ) ?;
8787 messages. push ( encoded) ;
8888 }
8989
@@ -94,9 +94,9 @@ fn test_streaming_decoder() -> Result<(), Box<dyn std::error::Error>> {
9494 decoder. feed ( & msg_data[ ..mid] ) ;
9595
9696 // Should not have a complete message yet
97- let first_decode = decoder
98- . decode_next ( )
99- . map_err ( |e| format ! ( "First decode_next() failed: {e}" ) ) ?;
97+ let first_decode = decoder. decode_next ( ) . map_err ( |e| {
98+ Box :: < dyn std :: error :: Error > :: from ( format ! ( "First decode_next() failed: {e}" ) )
99+ } ) ?;
100100 assert ! ( first_decode. is_none( ) ) ;
101101
102102 // Feed rest of data
@@ -105,8 +105,12 @@ fn test_streaming_decoder() -> Result<(), Box<dyn std::error::Error>> {
105105 // Now should have a complete message
106106 let decoded = decoder
107107 . decode_next ( )
108- . map_err ( |e| format ! ( "Second decode_next() failed: {e}" ) ) ?
109- . ok_or ( "Should have a message but got None" ) ?;
108+ . map_err ( |e| {
109+ Box :: < dyn std:: error:: Error > :: from ( format ! ( "Second decode_next() failed: {e}" ) )
110+ } ) ?
111+ . ok_or_else ( || {
112+ Box :: < dyn std:: error:: Error > :: from ( "Should have a message but got None" )
113+ } ) ?;
110114
111115 assert_eq ! ( decoded. msg_type( ) , "0" ) ;
112116 assert_eq ! ( decoded. msg_seq_num( ) , ( i + 1 ) as u64 ) ;
@@ -117,9 +121,9 @@ fn test_streaming_decoder() -> Result<(), Box<dyn std::error::Error>> {
117121 }
118122
119123 // No more messages
120- let final_decode = decoder
121- . decode_next ( )
122- . map_err ( |e| format ! ( "Final decode_next() failed: {e}" ) ) ?;
124+ let final_decode = decoder. decode_next ( ) . map_err ( |e| {
125+ Box :: < dyn std :: error :: Error > :: from ( format ! ( "Final decode_next() failed: {e}" ) )
126+ } ) ?;
123127 assert ! ( final_decode. is_none( ) ) ;
124128
125129 Ok ( ( ) )
@@ -179,14 +183,14 @@ fn test_field_types() -> Result<(), Box<dyn std::error::Error>> {
179183 assert_eq ! ( decoded. get_bool( 114 ) , Some ( true ) ) ;
180184 assert_eq ! ( decoded. get_string( 95 ) , Some ( "test_data" . to_string( ) ) ) ;
181185
182- let parsed_int = decoded
183- . get_int ( 31 )
184- . map_err ( |e| format ! ( "Should parse int but failed: {e}" ) ) ?;
186+ let parsed_int = decoded. get_int ( 31 ) . map_err ( |e| {
187+ Box :: < dyn std :: error :: Error > :: from ( format ! ( "Should parse int but failed: {e}" ) )
188+ } ) ?;
185189 assert_eq ! ( parsed_int, Some ( -100 ) ) ;
186190
187- let parsed_uint = decoded
188- . get_uint ( 14 )
189- . map_err ( |e| format ! ( "Should parse uint but failed: {e}" ) ) ?;
191+ let parsed_uint = decoded. get_uint ( 14 ) . map_err ( |e| {
192+ Box :: < dyn std :: error :: Error > :: from ( format ! ( "Should parse uint but failed: {e}" ) )
193+ } ) ?;
190194 assert_eq ! ( parsed_uint, Some ( 500_000 ) ) ;
191195
192196 Ok ( ( ) )
0 commit comments