nitka 0.5.0

NITKA - Near Integration Test Kit and Automation
Documentation
use fake::Fake;

pub trait RandomElement<T> {
    fn random_element(&self) -> &T;
}

impl<T> RandomElement<T> for Vec<T> {
    fn random_element(&self) -> &T {
        &self[(0..self.len()).fake::<usize>()]
    }
}

#[test]
fn test_random_element() {
    use fake::faker::lorem::en::*;
    let vec: Vec<String> = Words(5..10).fake();

    for _ in 0..50 {
        assert!(vec.contains(vec.random_element()));
    }

    let vec = vec!["a"];

    for _ in 0..5 {
        assert!(vec.contains(vec.random_element()));
    }
}