pub fn random_vector_rg<T: Random, R: SampleRange<u32>>(range: R) -> Vec<T>
Expand description

Generates a vector of items that implement the Random trait.

Examples

use cs_utils::test::random_vector_rg;
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 result: Vec<SomeStruct> = random_vector_rg(3..7);
 
assert!(
    result.len() >= 3,
    "Must create at least 3 items.",
);
 
assert!(
    result.len() < 7,
    "Must create at most 6 items.",
);
 
println!("{:?}", &result);