Function random_vec

Source
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);