version: 1, lock_time: LockTime::ZERO, input: vec![tx_in(outpoint(1))], output: vec![tx_out(3_333, change(1)), tx_out(6_537, recipient())], }) ) } #[test] fn alignment_output_under_dust_limit_is_padded() { let utxos = vec![ (outpoint(1), Amount::from_sat(10_000)), (outpoint(2), Amount::from_sat(10_000)), ]; pretty_assert_eq!( TransactionBuilder::new( satpoint(1, 1), BTreeMap::new(), utxos.into_iter().collect(), BTreeSet::new(), recipient(), [change(0), change(1)], FeeRate::try_from(1.0).unwrap(), Target::Postage, ) .build_transaction(), Ok(Transaction { version: 1, lock_time: LockTime::ZERO, input: vec![tx_in(outpoint(2)), tx_in(outpoint(1))], output: vec![tx_out(10_001, change(1)), tx_out(9_811, recipient())], }) ) } #[test] #[should_panic(expected = "invariant: all outputs are either change or recipient")]