@@ -461,6 +461,16 @@ macro_rules! check_fee {
461
461
} } ;
462
462
}
463
463
464
+ /// A floating point assert! that taker an additional third argument `delta`
465
+ /// as a tolerance value when test for equality the first and second argument.
466
+ macro_rules! assert_delta {
467
+ ( $x: expr, $y: expr, $d: expr) => {
468
+ if !( $x - $y < $d || $y - $x < $d) {
469
+ panic!( ) ;
470
+ }
471
+ } ;
472
+ }
473
+
464
474
#[ test]
465
475
fn test_create_tx_drain_wallet_and_drain_to ( ) {
466
476
let ( mut wallet, _) = get_funded_wallet ( get_test_wpkh ( ) ) ;
@@ -542,10 +552,6 @@ fn test_create_tx_default_fee_rate() {
542
552
assert_fee_rate ! ( psbt, fee. unwrap_or( 0 ) , FeeRate :: default ( ) , @add_signature) ;
543
553
}
544
554
545
- // FIXME: Something is going on
546
- // thread 'test_legacy_create_tx_custom_fee_rate' panicked at 'assertion failed: `(left == right)`
547
- // left: `FeeRate(9.537815)`,
548
- // right: `FeeRate(5.0)`'
549
555
#[ test]
550
556
fn test_legacy_create_tx_custom_fee_rate ( ) {
551
557
let ( mut wallet, _) = get_funded_wallet ( get_test_pkh ( ) ) ;
@@ -554,9 +560,16 @@ fn test_legacy_create_tx_custom_fee_rate() {
554
560
builder
555
561
. add_recipient ( addr. script_pubkey ( ) , 25_000 )
556
562
. fee_rate ( FeeRate :: from_sat_per_vb ( 5.0 ) ) ;
557
- let psbt = builder. finish ( ) . unwrap ( ) ;
563
+ let mut psbt = builder. finish ( ) . unwrap ( ) ;
558
564
559
- assert_eq ! ( psbt. fee_rate( ) . unwrap( ) , FeeRate :: from_sat_per_vb( 5.0 ) ) ;
565
+ // sign the transaction
566
+ wallet. sign ( & mut psbt, SignOptions :: default ( ) ) . unwrap ( ) ;
567
+
568
+ assert_delta ! (
569
+ psbt. fee_rate( ) . unwrap( ) ,
570
+ FeeRate :: from_sat_per_vb( 5.0 ) ,
571
+ FeeRate :: from_sat_per_vb( 0.6 )
572
+ )
560
573
}
561
574
562
575
#[ test]
0 commit comments