From fb5d94ece13f061452a7e8898870a84d2c65a48d Mon Sep 17 00:00:00 2001 From: Thomas Coratger <60488569+tcoratger@users.noreply.github.com> Date: Mon, 5 Aug 2024 10:39:56 +0200 Subject: [PATCH] tx-pool: add unit tests for `FinalizedBlockTracker` `update` (#10078) --- crates/transaction-pool/src/maintain.rs | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/crates/transaction-pool/src/maintain.rs b/crates/transaction-pool/src/maintain.rs index 9470f4542..f2023afa5 100644 --- a/crates/transaction-pool/src/maintain.rs +++ b/crates/transaction-pool/src/maintain.rs @@ -742,4 +742,46 @@ mod tests { temp_dir.close().unwrap(); } + + #[test] + fn test_update_with_higher_finalized_block() { + let mut tracker = FinalizedBlockTracker::new(Some(10)); + assert_eq!(tracker.update(Some(15)), Some(15)); + assert_eq!(tracker.last_finalized_block, Some(15)); + } + + #[test] + fn test_update_with_lower_finalized_block() { + let mut tracker = FinalizedBlockTracker::new(Some(20)); + assert_eq!(tracker.update(Some(15)), None); + assert_eq!(tracker.last_finalized_block, Some(15)); + } + + #[test] + fn test_update_with_equal_finalized_block() { + let mut tracker = FinalizedBlockTracker::new(Some(20)); + assert_eq!(tracker.update(Some(20)), None); + assert_eq!(tracker.last_finalized_block, Some(20)); + } + + #[test] + fn test_update_with_no_last_finalized_block() { + let mut tracker = FinalizedBlockTracker::new(None); + assert_eq!(tracker.update(Some(10)), Some(10)); + assert_eq!(tracker.last_finalized_block, Some(10)); + } + + #[test] + fn test_update_with_no_new_finalized_block() { + let mut tracker = FinalizedBlockTracker::new(Some(10)); + assert_eq!(tracker.update(None), None); + assert_eq!(tracker.last_finalized_block, Some(10)); + } + + #[test] + fn test_update_with_no_finalized_blocks() { + let mut tracker = FinalizedBlockTracker::new(None); + assert_eq!(tracker.update(None), None); + assert_eq!(tracker.last_finalized_block, None); + } }