use rs_sha1::Sha1State; use std::{ collections::{hash_map::DefaultHasher, HashSet}, hash::{BuildHasher, Hash, Hasher}, }; #[test] fn sha1_state_hash() { let default_sha1_state = Sha1State::default(); let sha1hasher = default_sha1_state.build_hasher(); let mut default_hasher = DefaultHasher::default(); let initial_default_hasher_result = default_hasher.clone().finish(); sha1hasher.hash(&mut default_hasher); let final_default_hasher_result = default_hasher.finish(); assert_ne!(final_default_hasher_result, initial_default_hasher_result); } #[test] fn state_hash_set() { let sha1state = Sha1State::default(); let mut sha1set = HashSet::with_hasher(sha1state); sha1set.insert(""); sha1set.insert("2"); assert_eq!(sha1set.get(""), Some(&"")); assert_eq!(sha1set.get("str"), None); assert_eq!(sha1set.len(), 2); assert!(sha1set.insert("str")); assert_eq!(sha1set.len(), 3); }