@@ -184,6 +184,9 @@ pub fn serialize(out: &mut impl Write, tr: &Transaction, st: &SymbolTable) -> st
184184
185185#[ cfg( test) ]
186186pub mod tests {
187+ use insta:: Settings ;
188+ use std:: path:: Path ;
189+
187190 use baa:: BitVecValue ;
188191
189192 use super :: * ;
@@ -232,32 +235,32 @@ pub mod tests {
232235
233236 // 3) create expressions
234237 let a_expr = add. e ( Expr :: Sym ( a) ) ;
235- add. add_expr_loc ( a_expr, 193 , 194 , add_fileid) ;
238+ add. add_expr_loc ( a_expr, 187 , 188 , add_fileid) ;
236239 let b_expr = add. e ( Expr :: Sym ( b) ) ;
237- add. add_expr_loc ( b_expr, 208 , 209 , add_fileid) ;
240+ add. add_expr_loc ( b_expr, 202 , 203 , add_fileid) ;
238241 let dut_s_expr = add. e ( Expr :: Sym ( dut_s) ) ;
239- add. add_expr_loc ( dut_s_expr, 271 , 276 , add_fileid) ;
242+ add. add_expr_loc ( dut_s_expr, 265 , 270 , add_fileid) ;
240243 let s_expr = add. e ( Expr :: Sym ( s) ) ;
241244
242245 // 4) create statements
243246 let a_assign = add. s ( Stmt :: Assign ( dut_a, a_expr) ) ;
244- add. add_stmt_loc ( a_assign, 184 , 195 , add_fileid) ;
247+ add. add_stmt_loc ( a_assign, 178 , 189 , add_fileid) ;
245248 let b_assign = add. s ( Stmt :: Assign ( dut_b, b_expr) ) ;
246- add. add_stmt_loc ( b_assign, 199 , 210 , add_fileid) ;
249+ add. add_stmt_loc ( b_assign, 193 , 204 , add_fileid) ;
247250 let step = add. s ( Stmt :: Step ) ;
248- add. add_stmt_loc ( step, 214 , 221 , add_fileid) ;
251+ add. add_stmt_loc ( step, 208 , 215 , add_fileid) ;
249252 let fork = add. s ( Stmt :: Fork ) ;
250- add. add_stmt_loc ( fork, 225 , 232 , add_fileid) ;
253+ add. add_stmt_loc ( fork, 219 , 226 , add_fileid) ;
251254 let dut_a_assign = add. s ( Stmt :: Assign ( dut_a, add. expr_dont_care ( ) ) ) ;
252- add. add_stmt_loc ( dut_a_assign, 236 , 247 , add_fileid) ;
255+ add. add_stmt_loc ( dut_a_assign, 230 , 241 , add_fileid) ;
253256 let dut_b_assign = add. s ( Stmt :: Assign ( dut_b, add. expr_dont_care ( ) ) ) ;
254- add. add_stmt_loc ( dut_b_assign, 251 , 262 , add_fileid) ;
257+ add. add_stmt_loc ( dut_b_assign, 245 , 256 , add_fileid) ;
255258 let s_assign = add. s ( Stmt :: Assign ( s, dut_s_expr) ) ;
256- add. add_stmt_loc ( s_assign, 266 , 277 , add_fileid) ;
259+ add. add_stmt_loc ( s_assign, 260 , 271 , add_fileid) ;
257260 let dut_s_assign = add. s ( Stmt :: Assign ( dut_s, a_expr) ) ;
258- add. add_stmt_loc ( dut_s_assign, 281 , 292 , add_fileid) ;
261+ add. add_stmt_loc ( dut_s_assign, 275 , 286 , add_fileid) ;
259262 let assert = add. s ( Stmt :: AssertEq ( s_expr, dut_s_expr) ) ;
260- add. add_stmt_loc ( assert, 296 , 316 , add_fileid) ;
263+ add. add_stmt_loc ( assert, 290 , 310 , add_fileid) ;
261264 let body = vec ! [
262265 a_assign,
263266 b_assign,
@@ -361,18 +364,30 @@ pub mod tests {
361364 }
362365
363366 #[ test]
364- fn serialize_add_transaction ( ) {
367+ fn test_serialize_add_transaction ( ) {
365368 let mut handler = DiagnosticHandler :: new ( ) ;
366369 let ( add, symbols) = create_add_transaction ( & mut handler) ;
367370
368- println ! ( "{}" , serialize_to_string( & add, & symbols) . unwrap( ) ) ;
371+ let content = serialize_to_string ( & add, & symbols) . unwrap ( ) ;
372+
373+ let mut settings = Settings :: clone_current ( ) ;
374+ settings. set_snapshot_path ( Path :: new ( "../tests/snapshots" ) ) ;
375+ settings. bind ( || {
376+ insta:: assert_snapshot!( content) ;
377+ } ) ;
369378 }
370379
371380 #[ test]
372- fn serialize_calyx_go_down_transaction ( ) {
381+ fn test_serialize_calyx_go_down_transaction ( ) {
373382 let mut handler = DiagnosticHandler :: new ( ) ;
374383 let ( calyx_go_done, symbols) = create_calyx_go_down_transaction ( & mut handler) ;
375- println ! ( "{}" , serialize_to_string( & calyx_go_done, & symbols) . unwrap( ) ) ;
384+
385+ let content = serialize_to_string ( & calyx_go_done, & symbols) . unwrap ( ) ;
386+ let mut settings = Settings :: clone_current ( ) ;
387+ settings. set_snapshot_path ( Path :: new ( "../tests/snapshots" ) ) ;
388+ settings. bind ( || {
389+ insta:: assert_snapshot!( content) ;
390+ } ) ;
376391 }
377392
378393 #[ test]
0 commit comments