From 96aeac333a1b8c85c9e6e43cc2675dd9ac3d01e4 Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Sat, 11 May 2019 19:09:51 +1000 Subject: [PATCH] Add tests for fixed_len_vec ssz --- eth2/utils/fixed_len_vec/src/impls.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/eth2/utils/fixed_len_vec/src/impls.rs b/eth2/utils/fixed_len_vec/src/impls.rs index e9e206e87d..48cc9cb5f9 100644 --- a/eth2/utils/fixed_len_vec/src/impls.rs +++ b/eth2/utils/fixed_len_vec/src/impls.rs @@ -108,3 +108,29 @@ where } } } + +#[cfg(test)] +mod ssz_tests { + use super::*; + use ssz::*; + use typenum::*; + + #[test] + fn encode() { + let vec: FixedLenVec = vec![0; 2].into(); + assert_eq!(vec.as_ssz_bytes(), vec![0, 0, 0, 0]); + assert_eq!( as Encodable>::ssz_fixed_len(), 4); + } + + fn round_trip(item: T) { + let encoded = &item.as_ssz_bytes(); + dbg!(encoded); + assert_eq!(T::from_ssz_bytes(&encoded), Ok(item)); + } + + #[test] + fn u16_len_8() { + round_trip::>(vec![42; 8].into()); + round_trip::>(vec![0; 8].into()); + } +}