1use super::MinimalId;
2use super::Seed;
3
4#[derive(PartialEq, Debug)]
13pub struct Generator {}
14
15impl Default for Generator {
16 fn default() -> Self { Generator {} }
21}
22
23impl Generator {
24 #[deprecated(since = "0.8.0", note = "Use Generator::new_id or MinimalId::generate")]
26 pub fn generate(&self) -> MinimalId { Generator::new_id() }
27
28 pub fn id_from_str(&self, id_str: &str) -> Result<MinimalId, ()> { MinimalId::id_from_str(id_str) }
40
41 pub fn new_id() -> MinimalId {
42 let seed = Seed::from_time();
43 MinimalId::new(&seed)
44 }
45}
46
47#[cfg(test)]
48mod tests {
49 use super::*;
50
51 #[test]
52 fn functional_test_generate_unique_ids() {
53 let id1 = Generator::new_id();
54 let id2 = Generator::new_id();
55 assert_ne!(id1, id2);
56 }
57}