Change length bytes to 3, add decode stuff

This commit is contained in:
Paul Hauner
2018-09-12 17:57:07 +10:00
parent dfae0acd06
commit e75905421d
5 changed files with 191 additions and 92 deletions

View File

@@ -76,24 +76,24 @@ mod tests {
#[test]
fn test_ssz_decode_length() {
let decoded = decode_length(
&vec![0, 0, 0, 1],
&vec![0, 0, 1],
LENGTH_BYTES);
assert_eq!(decoded.unwrap(), 1);
let decoded = decode_length(
&vec![0, 0, 1, 0],
&vec![0, 1, 0],
LENGTH_BYTES);
assert_eq!(decoded.unwrap(), 256);
let decoded = decode_length(
&vec![0, 0, 1, 255],
&vec![0, 1, 255],
LENGTH_BYTES);
assert_eq!(decoded.unwrap(), 511);
let decoded = decode_length(
&vec![255, 255, 255, 255],
&vec![255, 255, 255],
LENGTH_BYTES);
assert_eq!(decoded.unwrap(), 4294967295);
assert_eq!(decoded.unwrap(), 16777215);
}
#[test]
@@ -115,19 +115,19 @@ mod tests {
#[test]
fn test_ssz_nth_value() {
let ssz = vec![0, 0, 0, 1, 0];
let ssz = vec![0, 0, 1, 0];
let result = nth_value(&ssz, 0).unwrap();
assert_eq!(result, vec![0].as_slice());
let ssz = vec![0, 0, 0, 4, 1, 2, 3, 4];
let ssz = vec![0, 0, 4, 1, 2, 3, 4];
let result = nth_value(&ssz, 0).unwrap();
assert_eq!(result, vec![1, 2, 3, 4].as_slice());
let ssz = vec![0, 0, 0, 1, 0, 0, 0, 0, 1, 1];
let ssz = vec![0, 0, 1, 0, 0, 0, 1, 1];
let result = nth_value(&ssz, 1).unwrap();
assert_eq!(result, vec![1].as_slice());
let mut ssz = vec![0, 0, 1, 255];
let mut ssz = vec![0, 1, 255];
ssz.append(&mut vec![42; 511]);
let result = nth_value(&ssz, 0).unwrap();
assert_eq!(result, vec![42; 511].as_slice());