From 0e0192c02534d799c4ab12f8646adc73f34a25f3 Mon Sep 17 00:00:00 2001 From: Shing Him Ng Date: Sat, 12 Oct 2024 09:37:02 -0500 Subject: [PATCH] Add tests for block version --- primitives/src/block.rs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/primitives/src/block.rs b/primitives/src/block.rs index 23e73bdc1..6eeed6f24 100644 --- a/primitives/src/block.rs +++ b/primitives/src/block.rs @@ -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)); + } +}