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: ACK0e0192c025
apoelstra: ACK0e0192c025
successfully ran local tests Tree-SHA512: 15b9d69d44335f6b2c75a9a8950588915247e3b1108624f8d797e5d8b6037e9e927bab97dba8283021da5d223b84e6b9cf94c34eb5204c5da060f42590634833
This commit is contained in:
commit
299754c2c2
|
@ -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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue