From c5073f4c513636d4feff217986853d6b296524d4 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Tue, 3 Jun 2025 11:51:48 +0100 Subject: [PATCH] Refactor simple valid path tests into a loop The test is still doing a bunch of stuff. Pull the simple test cases into a loop. --- bitcoin/src/bip32.rs | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/bitcoin/src/bip32.rs b/bitcoin/src/bip32.rs index 75d460edc..e5e1af62a 100644 --- a/bitcoin/src/bip32.rs +++ b/bitcoin/src/bip32.rs @@ -1137,30 +1137,25 @@ mod tests { #[test] fn parse_derivation_path_valid() { - assert_eq!("0'".parse::(), Ok(vec![ChildNumber::ZERO_HARDENED].into())); - assert_eq!( - "0'/1".parse::(), - Ok(vec![ChildNumber::ZERO_HARDENED, ChildNumber::ONE_NORMAL].into()) - ); - assert_eq!( - "0h/1/2'".parse::(), - Ok(vec![ + let valid_paths = [ + ("0'", vec![ChildNumber::ZERO_HARDENED]), + ("0'/1", vec![ChildNumber::ZERO_HARDENED, ChildNumber::ONE_NORMAL]), + ("0h/1/2'", vec![ ChildNumber::ZERO_HARDENED, ChildNumber::ONE_NORMAL, ChildNumber::from_hardened_idx(2).unwrap(), - ] - .into()) - ); - assert_eq!( - "0'/1/2h/2".parse::(), - Ok(vec![ + ]), + ("0'/1/2h/2", vec![ ChildNumber::ZERO_HARDENED, ChildNumber::ONE_NORMAL, ChildNumber::from_hardened_idx(2).unwrap(), ChildNumber::from_normal_idx(2).unwrap(), - ] - .into()) - ); + ]), + ]; + for (path, expected) in valid_paths { + assert_eq!(path.parse::().unwrap(), expected.into()); + } + let want = DerivationPath::from(vec![ ChildNumber::ZERO_HARDENED, ChildNumber::ONE_NORMAL,