From 6cde537d9ba9bd56495ca47afb3f9a560e9b4358 Mon Sep 17 00:00:00 2001 From: "Jamil Lambert, PhD" Date: Tue, 28 Jan 2025 20:10:40 +0000 Subject: [PATCH] Add `ScriptBuf` tests Add tests to `owned` to kill the mutants found by `cargo mutants`. --- primitives/src/script/owned.rs | 66 ++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/primitives/src/script/owned.rs b/primitives/src/script/owned.rs index 8b640b106..45a8aa687 100644 --- a/primitives/src/script/owned.rs +++ b/primitives/src/script/owned.rs @@ -94,3 +94,69 @@ impl<'a> Arbitrary<'a> for ScriptBuf { Ok(ScriptBuf(v)) } } + + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn script_buf_from_bytes() { + let bytes = vec![1, 2, 3]; + let script = ScriptBuf::from_bytes(bytes.clone()); + assert_eq!(script.0, bytes); + } + + #[test] + fn script_buf_as_script() { + let bytes = vec![1, 2, 3]; + let script = ScriptBuf::from_bytes(bytes.clone()); + let script_ref = script.as_script(); + assert_eq!(script_ref.as_bytes(), bytes); + } + + #[test] + fn script_buf_as_mut_script() { + let bytes = vec![1, 2, 3]; + let mut script = ScriptBuf::from_bytes(bytes.clone()); + let script_mut_ref = script.as_mut_script(); + script_mut_ref.as_mut_bytes()[0] = 4; + assert_eq!(script.0, vec![4, 2, 3]); + } + + #[test] + fn script_buf_into_bytes() { + let bytes = vec![1, 2, 3]; + let script = ScriptBuf::from_bytes(bytes.clone()); + let result = script.into_bytes(); + assert_eq!(result, bytes); + } + + #[test] + fn script_buf_into_boxed_script() { + let bytes = vec![1, 2, 3]; + let script = ScriptBuf::from_bytes(bytes.clone()); + let boxed_script = script.into_boxed_script(); + assert_eq!(boxed_script.as_bytes(), bytes); + } + + #[test] + fn script_buf_capacity() { + let script = ScriptBuf::with_capacity(10); + assert!(script.0.capacity() >= 10); + } + + #[test] + fn script_buf_reserve() { + let mut script = ScriptBuf::new(); + script.reserve(10); + assert!(script.0.capacity() >= 10); + } + + #[test] + fn script_buf_reserve_exact() { + let mut script = ScriptBuf::new(); + script.reserve_exact(10); + assert!(script.0.capacity() >= 10); + } +}