| 443 | |
| 444 | #[test] |
| 445 | fn test_simple_encode_decode() { |
| 446 | let mut writer: Vec<u8> = vec![]; |
| 447 | writer.put_u8(5); |
| 448 | writer.put_u32(6); |
| 449 | writer.put_u64(7); |
| 450 | |
| 451 | let arr_val = [1, 2, 3, 4]; |
| 452 | writer.put_slice(&arr_val[..]); |
| 453 | |
| 454 | let mut reader = writer.as_slice(); |
| 455 | assert_eq!(reader.get_u8().unwrap(), 5); |
| 456 | assert_eq!(reader.get_u32().unwrap(), 6); |
| 457 | assert_eq!(reader.get_u64().unwrap(), 7); |
| 458 | |
| 459 | let slice = reader.get_slice(4).unwrap(); |
| 460 | assert_eq!(slice, arr_val); |
| 461 | |
| 462 | // reading beyond buffer end should fail |
| 463 | assert!(reader.get_slice(1).is_err()); |
| 464 | assert!(reader.get_slice(123).is_err()); |
| 465 | assert!(reader.get_u64().is_err()); |
| 466 | assert!(reader.get_u32().is_err()); |
| 467 | assert!(reader.get_u8().is_err()); |
| 468 | } |
| 469 | } |