fn invariant_all_output_are_recognized() {
let utxos = vec![(outpoint(1), Amount::from_sat(10_000))];
let mut builder = TransactionBuilder::new(
satpoint(1, 3_333),
BTreeMap::new(),
utxos.into_iter().collect(),
BTreeSet::new(),
recipient(),
[change(0), change(1)],
FeeRate::try_from(1.0).unwrap(),
Target::Postage,
)
.select_outgoing()
.unwrap()
.align_outgoing()
.add_value()
.unwrap()
.strip_value()
.deduct_fee();
builder.change_addresses = BTreeSet::new();
builder.build().unwrap();
}
#[test]
#[should_panic(expected = "invariant: all outputs are above dust limit")]
fn invariant_all_output_are_above_dust_limit() {
let utxos = vec![(outpoint(1), Amount::from_sat(10_000))];
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,