Merge rust-bitcoin/rust-bitcoin#4024: primitives: Add tests to Sequence
963dba2bdf
Test sequence formatting (Jamil Lambert, PhD)6c3d7f6443
Test Sequence properties (Jamil Lambert, PhD) Pull request description: Add tests to kill the mutants found in Sequence. ACKs for top commit: tcharding: ACK963dba2bdf
apoelstra: ACK 963dba2bdf102b2015393014d06cc56b8473520a; successfully ran local tests Tree-SHA512: f03a02cd49df2b29232bf4f9baf663a7b51b0de504de88ae4d62de96d4e672800ac2387d0675aa48280dcbdfc0738f80484842f98b58324a09462c01956566cf
This commit is contained in:
commit
a1bd90eb52
|
@ -307,4 +307,42 @@ mod tests {
|
||||||
fn from_seconds_ceil_causes_overflow_error() {
|
fn from_seconds_ceil_causes_overflow_error() {
|
||||||
assert!(Sequence::from_seconds_ceil(MAXIMUM_ENCODABLE_SECONDS + 1).is_err());
|
assert!(Sequence::from_seconds_ceil(MAXIMUM_ENCODABLE_SECONDS + 1).is_err());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn sequence_properties() {
|
||||||
|
let seq_max = Sequence(0xFFFFFFFF);
|
||||||
|
let seq_no_rbf = Sequence(0xFFFFFFFE);
|
||||||
|
let seq_rbf = Sequence(0xFFFFFFFD);
|
||||||
|
|
||||||
|
assert!(seq_max.is_final());
|
||||||
|
assert!(!seq_no_rbf.is_final());
|
||||||
|
|
||||||
|
assert!(seq_no_rbf.enables_absolute_lock_time());
|
||||||
|
assert!(!seq_max.enables_absolute_lock_time());
|
||||||
|
|
||||||
|
assert!(seq_rbf.is_rbf());
|
||||||
|
assert!(!seq_no_rbf.is_rbf());
|
||||||
|
|
||||||
|
let seq_relative = Sequence(0x7FFFFFFF);
|
||||||
|
assert!(seq_relative.is_relative_lock_time());
|
||||||
|
assert!(!seq_max.is_relative_lock_time());
|
||||||
|
|
||||||
|
let seq_height_locked = Sequence(0x00399999);
|
||||||
|
let seq_time_locked = Sequence(0x00400000);
|
||||||
|
assert!(seq_height_locked.is_height_locked());
|
||||||
|
assert!(seq_time_locked.is_time_locked());
|
||||||
|
assert!(!seq_time_locked.is_height_locked());
|
||||||
|
assert!(!seq_height_locked.is_time_locked());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn sequence_formatting() {
|
||||||
|
let sequence = Sequence(0x7FFFFFFF);
|
||||||
|
assert_eq!(format!("{:x}", sequence), "7fffffff");
|
||||||
|
assert_eq!(format!("{:X}", sequence), "7FFFFFFF");
|
||||||
|
|
||||||
|
// Test From<Sequence> for u32
|
||||||
|
let sequence_u32: u32 = sequence.into();
|
||||||
|
assert_eq!(sequence_u32, 0x7FFFFFFF);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue