pub fn random_vec<T: Random>(items_count: u32) -> Vec<T>
Expand description
Generates a vector of items that implement the Random
trait.
ยงExamples
// Note: `test` or `all` crate features must be enabled to access the `test` module.
#[cfg(any(feature = "test", feature = "all"))]
use cs_utils::test::random_vec;
// Note: `traits` or `all` crate features must be enabled to access the `traits` module.
#[cfg(any(feature = "traits", feature = "all"))]
use cs_utils::traits::Random;
use cs_utils::{random_number, random_str};
#[derive(Debug)]
struct SomeStruct {
id: u16,
name: String,
}
impl Random for SomeStruct {
fn random() -> Self {
return SomeStruct {
id: random_number(0..=u16::MAX),
name: random_str(10),
};
}
}
let items_count = random_number(3..=5);
let result: Vec<SomeStruct> = random_vec(items_count);
assert_eq!(
result.len() as u32,
items_count,
"Must create {} items.", &items_count,
);
println!("{:?}", &result);