From bde0a5b81177e85ce893c3cb4a9a9a1d2ab025d9 Mon Sep 17 00:00:00 2001 From: Nikolay Volf Date: Sun, 17 Apr 2016 19:12:10 +0300 Subject: [PATCH] test for triples and bug fix --- util/src/bytes.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/util/src/bytes.rs b/util/src/bytes.rs index cbc06e3ad..3a7457575 100644 --- a/util/src/bytes.rs +++ b/util/src/bytes.rs @@ -410,7 +410,7 @@ impl<'a, V1, V2, T3> ToBytesWithMap for (&'a Vec, &'a Vec, &'a T3) mem::size_of::() ); result.extend(((self.0.len() * v1_size) as u64).to_bytes_map()); - result.extend(((self.1.len() * v1_size) as u64).to_bytes_map()); + result.extend(((self.1.len() * v2_size) as u64).to_bytes_map()); for i in 0..self.0.len() { result.extend(self.0[i].to_bytes_map()); } @@ -516,3 +516,19 @@ fn raw_bytes_from_tuple() { let bytes_to = tup_to.to_bytes_map(); assert_eq!(bytes_to, bytes); } + +#[test] +fn bytes_map_from_triple() { + let data = (vec![2u16; 6], vec![6u32; 3], 12u64); + let bytes_map = (&data.0, &data.1, &data.2).to_bytes_map(); + assert_eq!(bytes_map, vec![ + // data map 2 x u64 + 12, 0, 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 0, 0, 0, 0, + // vec![2u16; 6] + 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, + // vec![6u32; 3] + 6, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0, + // 12u64 + 12, 0, 0, 0, 0, 0, 0, 0]); +}