diff options
Diffstat (limited to 'tests/set.rs')
-rw-r--r-- | tests/set.rs | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/tests/set.rs b/tests/set.rs index 5ae1ec9..3fc0717 100644 --- a/tests/set.rs +++ b/tests/set.rs @@ -2,33 +2,29 @@ use hashbrown::HashSet; use rand::{distributions::Alphanumeric, rngs::SmallRng, Rng, SeedableRng}; -use std::iter; #[test] fn test_hashset_insert_remove() { let mut m: HashSet<Vec<char>> = HashSet::new(); - let seed = u64::from_le_bytes(*b"testseed"); + //let num: u32 = 4096; + //let tx: Vec<Vec<u8>> = (0..num).map(|i| (i..(16 + i)).collect()).collect(); + let seed: [u8; 16] = [ + 130, 220, 246, 217, 111, 124, 221, 189, 190, 234, 121, 93, 67, 95, 100, 43, + ]; - let rng = &mut SmallRng::seed_from_u64(seed); - let tx: Vec<Vec<char>> = iter::repeat_with(|| { - rng.sample_iter(&Alphanumeric) - .take(32) - .map(char::from) - .collect() - }) - .take(4096) - .collect(); + let rng = &mut SmallRng::from_seed(seed); + let tx: Vec<Vec<char>> = (0..4096) + .map(|_| (rng.sample_iter(&Alphanumeric).take(32).collect())) + .collect(); - // more readable with explicit `true` / `false` - #[allow(clippy::bool_assert_comparison)] for _ in 0..32 { - for x in &tx { - assert_eq!(m.contains(x), false); - assert_eq!(m.insert(x.clone()), true); + for i in 0..4096 { + assert_eq!(m.contains(&tx[i].clone()), false); + assert_eq!(m.insert(tx[i].clone()), true); } - for (i, x) in tx.iter().enumerate() { - println!("removing {} {:?}", i, x); - assert_eq!(m.remove(x), true); + for i in 0..4096 { + println!("removing {} {:?}", i, tx[i]); + assert_eq!(m.remove(&tx[i]), true); } } } |