/
githubmirror
/
thin-provisioning-tools
Обзор
Документация
Войти
/
githubmirror
/
thin-provisioning-tools
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/pdata/array/tests.rs
50 строк
1 KB
Ming-Hung Tsai
[build] Update rand to 0.9.1
23 июн 2025, 21:02
23 июн 2025, 21:02
97d312e
Код
Авторство
О чём код?
use super::*; //------------------------------------------ fn mk_random_block(nr_entries: usize) -> ArrayBlock<u64> { use rand::{rng, Rng}; let mut values = vec![0u64; nr_entries]; rng().fill(&mut values[..]); ArrayBlock { header: ArrayBlockHeader { max_entries: calc_max_entries::<u64>() as u32, nr_entries: nr_entries as u32, value_size: u64::disk_size(), blocknr: 0, }, values, } } #[test] fn pack_unpack_empty_block() { let origin = mk_random_block(0); let mut buffer: Vec<u8> = Vec::with_capacity(BLOCK_SIZE); let mut cursor = std::io::Cursor::new(&mut buffer); assert!(pack_array_block(&origin, &mut cursor).is_ok()); let path = vec![0]; let unpacked = unpack_array_block::<u64>(&path, buffer.as_slice()).unwrap(); assert_eq!(unpacked.header, origin.header); assert!(unpacked.values.is_empty()); } #[test] fn pack_unpack_fully_populated_block() { let origin = mk_random_block(calc_max_entries::<u64>()); let mut buffer: Vec<u8> = Vec::with_capacity(BLOCK_SIZE); let mut cursor = std::io::Cursor::new(&mut buffer); assert!(pack_array_block(&origin, &mut cursor).is_ok()); let path = vec![0]; let unpacked = unpack_array_block::<u64>(&path, buffer.as_slice()).unwrap(); assert_eq!(unpacked.header, origin.header); assert_eq!(unpacked.values, origin.values); } //------------------------------------------