(255, &[0x80, 0x7F]), (256, &[0x81, 0x00]), (16383, &[0xFE, 0x7F]), (16384, &[0xFF, 0x00]), (16511, &[0xFF, 0x7F]), (65535, &[0x82, 0xFE, 0x7F]), (1 << 32, &[0x8E, 0xFE, 0xFE, 0xFF, 0x00]), ]; for (n, encoding) in TEST_VECTORS { let actual = encode(*n); assert_eq!(actual, *encoding); let (actual, length) = decode(encoding).unwrap(); assert_eq!(actual, *n); assert_eq!(length, encoding.len()); } } #[test] fn truncated_varint_returns_error() { assert_eq!(decode(&[128]), Err(Error::Varint)); } }