diff --git a/bitcoin/src/merkle_tree/block.rs b/bitcoin/src/merkle_tree/block.rs index 438f0bfe1..7f93a6914 100644 --- a/bitcoin/src/merkle_tree/block.rs +++ b/bitcoin/src/merkle_tree/block.rs @@ -825,16 +825,25 @@ mod tests { 1b01e32f570200000002252bf9d75c4f481ebb6278d708257d1f12beb6dd30301d26c623f789b2ba6fc0e2d3\ 2adb5f8ca820731dff234a84e78ec30bce4ec69dbd562d0b2b8266bf4e5a0105").unwrap(); let mb: MerkleBlock = encode::deserialize(&mb_bytes).unwrap(); + // Authenticate and extract matched transaction ids let mut matches: Vec = vec![]; let mut index: Vec = vec![]; assert!(mb.extract_matches(&mut matches, &mut index).is_ok()); - assert_eq!(1, matches.len()); - assert_eq!( - "5a4ebf66822b0b2d56bd9dc64ece0bc38ee7844a23ff1d7320a88c5fdb2ad3e2".parse::().unwrap(), - matches[0] - ); - assert_eq!(1, index.len()); - assert_eq!(1, index[0]); + + // The matches and index vectors are coupled, should be the same length. + assert_eq!(matches.len(), index.len()); + + // There should only be one match. + assert_eq!(matches.len(), 1); + + // The match should come from index 1. + assert_eq!(index[0], 1); + + // And we know the txid we want. + let want = "5a4ebf66822b0b2d56bd9dc64ece0bc38ee7844a23ff1d7320a88c5fdb2ad3e2" + .parse::() + .expect("failed to parse txid"); + assert_eq!(matches[0], want); } }