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:
    ACK 963dba2bdf
  apoelstra:
    ACK 963dba2bdf102b2015393014d06cc56b8473520a; successfully ran local tests

Tree-SHA512: f03a02cd49df2b29232bf4f9baf663a7b51b0de504de88ae4d62de96d4e672800ac2387d0675aa48280dcbdfc0738f80484842f98b58324a09462c01956566cf
This commit is contained in:
merge-script 2025-02-08 15:10:46 +00:00
commit a1bd90eb52
No known key found for this signature in database
GPG Key ID: C588D63CE41B97C1
1 changed files with 38 additions and 0 deletions

View File

@ -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);
}
} }