Merge rust-bitcoin/rust-bitcoin#3460: Add tests for block version

0e0192c025 Add tests for block version (Shing Him Ng)

Pull request description:

  Add unit tests for block `Version`

ACKs for top commit:
  tcharding:
    ACK 0e0192c025
  apoelstra:
    ACK 0e0192c025 successfully ran local tests

Tree-SHA512: 15b9d69d44335f6b2c75a9a8950588915247e3b1108624f8d797e5d8b6037e9e927bab97dba8283021da5d223b84e6b9cf94c34eb5204c5da060f42590634833
This commit is contained in:
merge-script 2024-10-14 14:04:55 +00:00
commit 299754c2c2
No known key found for this signature in database
GPG Key ID: C588D63CE41B97C1
1 changed files with 31 additions and 0 deletions

View File

@ -106,3 +106,34 @@ impl<'a> Arbitrary<'a> for Version {
} }
} }
} }
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_version_is_not_signalling_with_invalid_bit() {
let arbitrary_version = Version::from_consensus(1234567890);
// The max bit number to signal is 28.
assert!(!Version::is_signalling_soft_fork(&arbitrary_version, 29));
}
#[test]
fn test_version_is_not_signalling_when_use_version_bit_not_set() {
let version = Version::from_consensus(0b01000000000000000000000000000000);
// Top three bits must be 001 to signal.
assert!(!Version::is_signalling_soft_fork(&version, 1));
}
#[test]
fn test_version_is_signalling() {
let version = Version::from_consensus(0b00100000000000000000000000000010);
assert!(Version::is_signalling_soft_fork(&version, 1));
}
#[test]
fn test_version_is_not_signalling() {
let version = Version::from_consensus(0b00100000000000000000000000000010);
assert!(!Version::is_signalling_soft_fork(&version, 0));
}
}