From 2a6c5ed0ac2a5e7a5163962cbc36dbc02f9b1dad Mon Sep 17 00:00:00 2001 From: Trent Nelson Date: Tue, 25 May 2021 23:41:34 -0600 Subject: [PATCH] add tests from `RentDebits` --- runtime/src/bank.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index ef542bd5ea..6588618724 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -12868,4 +12868,25 @@ pub(crate) mod tests { 0 ); } + + #[test] + fn test_rent_debits() { + let mut rent_debits = RentDebits::default(); + + // No entry for 0 rewards + rent_debits.push(&Pubkey::default(), 0, 0); + assert_eq!(rent_debits.0.len(), 0); + + // Doesn't fit an `i64`, no entry. (we'll die elsewhere) + rent_debits.push(&Pubkey::default(), u64::MAX, 0); + assert_eq!(rent_debits.0.len(), 0); + + // Since we're casting from `u64` the `i64::checked_neg()` is infallible + + // Some that actually work + rent_debits.push(&Pubkey::default(), 1, 0); + assert_eq!(rent_debits.0.len(), 1); + rent_debits.push(&Pubkey::default(), i64::MAX as u64, 0); + assert_eq!(rent_debits.0.len(), 2); + } }