From 2cc2a5b3b1823df7d3005e7683c4b4fb04559037 Mon Sep 17 00:00:00 2001 From: Lizzy Fleckenstein Date: Mon, 6 Feb 2023 16:52:09 +0100 Subject: [PATCH] Support HashMap --- lib/src/lib.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/src/lib.rs b/lib/src/lib.rs index 3b555f2..d0e96e3 100644 --- a/lib/src/lib.rs +++ b/lib/src/lib.rs @@ -115,6 +115,19 @@ impl GenerateRandom for Vec { } } +impl GenerateRandom for std::collections::HashMap +where + K: GenerateRandom + std::cmp::Eq + std::hash::Hash, + V: GenerateRandom, +{ + fn generate_random(rng: &mut R) -> Self { + let len = rng.gen_range(0..8); + (0..len) + .map(|_| (K::generate_random(rng), V::generate_random(rng))) + .collect() + } +} + macro_rules! impl_generate_random_tuple { ( $t0:ident $( $t:ident )* ) => { impl< $t0, $( $t, )* > GenerateRandom for ( $t0, $( $t, )* ) -- 2.44.0