use dynamo_tokens::{TokenBlock, TokenBlockSequence};
use super::TEST_SALT;
pub fn create_test_token_block(tokens: &[u32], block_size: u32) -> TokenBlock {
let sequence = TokenBlockSequence::from_slice(tokens, block_size, Some(TEST_SALT));
if let Some(block) = sequence.blocks().first() {
block.clone()
} else {
let mut partial = sequence.into_parts().1;
partial.commit().expect("Should be able to commit")
}
}
pub fn create_iota_token_block(start: u32, block_size: u32) -> TokenBlock {
let tokens: Vec<u32> = (start..start + block_size).collect();
create_test_token_block(&tokens, block_size)
}
pub fn sequential_tokens(start: u32, count: usize) -> Vec<u32> {
(start..start + count as u32).collect()
}
pub fn tokens_for_id(id: u64) -> Vec<u32> {
vec![id as u32, (id + 1) as u32, (id + 2) as u32, (id + 3) as u32]
}