Add tests to block
New mutants found in weekly mutation testing. Add tests to kill them.
This commit is contained in:
parent
9310942888
commit
c1d2f0386d
|
@ -439,6 +439,7 @@ impl<'a> core::iter::Sum<&'a BlockMtpInterval> for BlockMtpInterval {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use crate::locktime::relative::NumberOf512Seconds;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn sanity_check() {
|
fn sanity_check() {
|
||||||
|
@ -479,6 +480,7 @@ mod tests {
|
||||||
// interval - interval = interval
|
// interval - interval = interval
|
||||||
assert!(BlockHeightInterval(10) - BlockHeightInterval(7) == BlockHeightInterval(3));
|
assert!(BlockHeightInterval(10) - BlockHeightInterval(7) == BlockHeightInterval(3));
|
||||||
|
|
||||||
|
// Sum for BlockHeightInterval by reference and by value
|
||||||
assert!(
|
assert!(
|
||||||
[BlockHeightInterval(1), BlockHeightInterval(2), BlockHeightInterval(3)]
|
[BlockHeightInterval(1), BlockHeightInterval(2), BlockHeightInterval(3)]
|
||||||
.iter()
|
.iter()
|
||||||
|
@ -492,6 +494,20 @@ mod tests {
|
||||||
== BlockHeightInterval(15)
|
== BlockHeightInterval(15)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Sum for BlockMtpInterval by reference and by value
|
||||||
|
assert!(
|
||||||
|
[BlockMtpInterval(1), BlockMtpInterval(2), BlockMtpInterval(3)]
|
||||||
|
.iter()
|
||||||
|
.sum::<BlockMtpInterval>()
|
||||||
|
== BlockMtpInterval(6)
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
[BlockMtpInterval(4), BlockMtpInterval(5), BlockMtpInterval(6)]
|
||||||
|
.into_iter()
|
||||||
|
.sum::<BlockMtpInterval>()
|
||||||
|
== BlockMtpInterval(15)
|
||||||
|
);
|
||||||
|
|
||||||
// interval += interval
|
// interval += interval
|
||||||
let mut int = BlockHeightInterval(1);
|
let mut int = BlockHeightInterval(1);
|
||||||
int += BlockHeightInterval(2);
|
int += BlockHeightInterval(2);
|
||||||
|
@ -502,4 +518,54 @@ mod tests {
|
||||||
int -= BlockHeightInterval(7);
|
int -= BlockHeightInterval(7);
|
||||||
assert_eq!(int, BlockHeightInterval(3));
|
assert_eq!(int, BlockHeightInterval(3));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn block_height_checked() {
|
||||||
|
let a = BlockHeight(10);
|
||||||
|
let b = BlockHeight(5);
|
||||||
|
assert_eq!(a.checked_sub(b), Some(BlockHeightInterval(5)));
|
||||||
|
assert_eq!(a.checked_add(BlockHeightInterval(5)), Some(BlockHeight(15)));
|
||||||
|
assert_eq!(a.checked_sub(BlockHeight(11)), None);
|
||||||
|
assert_eq!(a.checked_add(BlockHeightInterval(u32::MAX - 5)), None);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn block_height_interval_checked() {
|
||||||
|
let a = BlockHeightInterval(10);
|
||||||
|
let b = BlockHeightInterval(5);
|
||||||
|
assert_eq!(a.checked_sub(b), Some(BlockHeightInterval(5)));
|
||||||
|
assert_eq!(a.checked_add(b), Some(BlockHeightInterval(15)));
|
||||||
|
assert_eq!(a.checked_sub(BlockHeightInterval(11)), None);
|
||||||
|
assert_eq!(a.checked_add(BlockHeightInterval(u32::MAX - 5)), None);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn block_mtp_interval_checked() {
|
||||||
|
let a = BlockMtpInterval(10);
|
||||||
|
let b = BlockMtpInterval(5);
|
||||||
|
assert_eq!(a.checked_sub(b), Some(BlockMtpInterval(5)));
|
||||||
|
assert_eq!(a.checked_add(b), Some(BlockMtpInterval(15)));
|
||||||
|
assert_eq!(a.checked_sub(BlockMtpInterval(11)), None);
|
||||||
|
assert_eq!(a.checked_add(BlockMtpInterval(u32::MAX - 5)), None);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn block_mtp_checked() {
|
||||||
|
let a = BlockMtp(10);
|
||||||
|
let b = BlockMtp(5);
|
||||||
|
assert_eq!(a.checked_sub(b), Some(BlockMtpInterval(5)));
|
||||||
|
assert_eq!(a.checked_add(BlockMtpInterval(5)), Some(BlockMtp(15)));
|
||||||
|
assert_eq!(a.checked_sub(BlockMtp(11)), None);
|
||||||
|
assert_eq!(a.checked_add(BlockMtpInterval(u32::MAX - 5)), None);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn block_mtp_interval_from_number_of_512seconds() {
|
||||||
|
let n = NumberOf512Seconds::from_seconds_floor(0).unwrap();
|
||||||
|
let interval = BlockMtpInterval::from(n);
|
||||||
|
assert_eq!(interval, BlockMtpInterval(0));
|
||||||
|
let n = NumberOf512Seconds::from_seconds_floor(1024).unwrap();
|
||||||
|
let interval = BlockMtpInterval::from(n);
|
||||||
|
assert_eq!(interval, BlockMtpInterval(1024));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue