#![cfg(test)]
use core::num::NonZero;
use super::{Config, Pool, ValidTransaction};
#[test]
fn basic_includable() {
let mut pool = Pool::new(Config {
capacity: 16,
finalized_block_height: 0,
randomness_seed: [0; 16],
});
let tx_id = pool.add_unvalidated(vec![], ());
pool.append_empty_block();
assert!(pool.best_block_includable_transactions().next().is_none());
pool.set_validation_result(
tx_id,
1,
ValidTransaction {
longevity: NonZero::<u64>::new(16).unwrap(),
priority: 0,
propagate: true,
provides: Vec::new(),
requires: Vec::new(),
},
);
pool.append_empty_block();
assert_eq!(
pool.best_block_includable_transactions().next(),
Some((tx_id, &()))
);
pool.best_block_add_transaction_by_id(tx_id);
assert!(pool.best_block_includable_transactions().next().is_none());
}