Skip to main content

fake/impls/std/collections/
hash_set.rs

1use crate::{Dummy, Fake, Faker};
2use rand::RngExt;
3use std::collections::HashSet;
4use std::hash::{BuildHasher, Hash};
5
6impl<T, S> Dummy<Faker> for HashSet<T, S>
7where
8    T: Dummy<Faker> + Hash + Eq,
9    S: BuildHasher + Default,
10{
11    fn dummy_with_rng<R: RngExt + ?Sized>(config: &Faker, rng: &mut R) -> Self {
12        let len = super::get_len(config, rng);
13        let mut m = HashSet::with_capacity_and_hasher(len, S::default());
14        for _ in 0..len {
15            m.insert(config.fake_with_rng(rng));
16        }
17        m
18    }
19}